Archive for the ‘.Net’ Subject

Columnas calculadas con Entity Framework (EF) y Fluent Mappings

Wednesday, June 5th, 2013

En este post voy a tratar de explicar un problema bastante común en las aplicaciones y es el de mostrar un texto formado a partir de varias propiedades de un objeto
(more…)

Entity Framework Code First – Introducción

Thursday, May 30th, 2013

Entity Framework es un ORM (Object Relational Mapping) introducido por Microsoft en la versión 3.5 de .Net. Desde la versión 4.1 de .Net nos encontramos con una nueva forma de modelar nuestras bases de datos sin la necesidad de estar jugando con SQL. Entity Framework Code First (de ahora en adelante CF) nos acerca una opción mucho más cercana al código, que nos provee:

  • Diseñar una base de datos sin la necesidad de un diseñador
  • Definir nuestro modelo a partir de entidades POCO (Plain Old CLR Objects)
  • Utilizar las convenciones definidas por defecto para no especificar ningún tipo de configuración
  • Opcionalmente especificar una configuración a través de una Fluent API provista por el propio framework

Por lo cual CF pasa a ser una opción ideal para aquellos desarrolladores que no tienen un diseñador de base de datos o simplemente no tienen ganas de estar escribiendo SQL.
(more…)

FluentMigrator para manejar versiones de DB

Friday, May 3rd, 2013


Qué es y para qué sirve?

Es una herramienta para hacer migraciones sobre una Base de Datos Relacional. Nos permite manejar el “versionado” de una Base de Datos para poder facilitar las tareas para hacerlo y no depender del trabajo manual de generar scripts con cambios incrementales, versionarlos, ponerlos en el orden indicado para ser corridos, y un largo listado de etcéteras.

Esta herramienta nos provee de:

  • Una API para definirlas
  • Un ejecutable de línea de comandos para correrlas
  • Y un DSL (Domain Specific Language) para declarar cada sentencia de la migración. Haciendo honor a su nombre, expone una interfaz fluida q nos permite fácilmente declarar estas sentencias de forma muy similar a cómo lo haríamos en SQL pero con la ventaja que tenemos un chequeo estático de tipos.

Está inspirado de rails: http://guides.rubyonrails.org/migrations.html
(more…)

FluentValidation, una pequeña librería de validaciones para .NET

Tuesday, April 16th, 2013

Introducción

¿Cuántas veces hemos deseado que las annotations con las cuales decoramos nuestras entidades nos permitieran hacer cosas un poco más complejas que simplemente pedir que cierto atributo no esté vacío, o que tal otro cumpla cierta expresión regular?
FluentValidation, que de acuerdo a su propia descripción es una pequeña librería para .NET que usa una interfaz fluída (Para más información sobre interfaces fluídas pueden ver el siguiente texto de Martin Fowler: http://www.martinfowler.com/bliki/FluentInterface.html) y expresiones lambda para construir reglas de validación para nuestros objetos de negocio, es precisamente la solución al problema planteado arriba.

(more…)

Haciendo tu código más lindo con NDepend.

Tuesday, March 5th, 2013

NDepend es una herramienta de Visual Studio para administrar código complejo .NET y lograr una mejor calidad del código.

Con NDepend, la calidad del software se puede medir con métricas, visualizándola en gráficos y diagramas de árbol, y cumpliendo con normas/reglas estándares y personalizadas.

La herramienta también realiza instantáneas de código, de comparación y validación de reglas arquitectónicas y de calidad. Se pueden escribir reglas definidas por el usuario, utilizando consultas LINQ.

Esta posibilidad se denomina CQLinq. La herramienta también viene con un gran número de reglas predefinidas de código CQLinq.

(more…)