How to: Separar entidades de modelo Entity Framework

Apreciados lectores, como van?

Como notarán estos días he tenido un poco más de tiempo para dedicarme a compartir conocimiento con ustedes :).

Esta vez voy a compartirles un poco de Entity Framework, el ORM por excelencia de Microsoft.
Compartiré las bases para iniciar con las plantillas Self-Tracking la cual es utilizada para separar las entidades que hacen parte del modelo de EF de la capa de Datos.

Las bases de buenas prácticas que debe tener una solución como todos debemos saber es el manejo en «Capas» es decir, separar por proyectos cada «sección» de nuestra solución ejem:

  1. Capa de datos, contiene todas las clases que se encargan de comunicarse con la base de datos ya sea utilizando ADO.NET, EF, Enterprise Library, etc…
  2. Capa de negocio o dominio, contiene todas las clases que contienen la lógica de negocio requerida en nuestra aplicación
  3. Capa de entidades, contiene las clases con sus respectivas propiedades en la cual se transporta la información a través de las capas.
  4. Capa de presentación, contiene nuestra aplicación web, desktop, consola, etc…

He notado que muchos proyectos que he revisado los han diseñado con un error no tan grave pero que va en contra de las buenas prácticas del diseño de una solución, el problema es que no se separan las entidades del modelo de Entity Framework en otra capa.

Lo ideal sería crear una plantilla «Self-Tracking» y moverla al proyecto de Entidades, y al momento en que se requiera acceder a una entidad se utilizarían esas entidades que genera la plantilla pero ya estarían en otra capa, imagínense si no separamos en otra capa las entidades, estaríamos referenciando la capa de datos desde la capa de presentación  lo cual no es buena práctica.

Vamos a la práctica:

– Creamos el modelo y agregamos la plantilla:

img1

img2

Ya quedan agregadas nuestras plantillas al proyecto:

img3

Ahora para moverlas a la capa de entidades tenemos que cambiarles la ruta, abrimos los dos archivos y buscamos lo siguiente:

img4

Le colocamos la ruta de nuestro proyecto de entidades y luego actualizamos la plantilla:

img5

Con esto ya podemos hacer referencias a estas entidades pero ya estando en la capa de entidades:

img6

Recuerden que para desarrollar software no solo basta con ser técnicos sino tener buena capacidad de diseño y análisis.

Saludos, hasta otra ocasión.

Deja un comentario