24 de diciembre de 2014

Separar entidades de negocio desde modelo de Entity framework

Al trabajar con Entity Framework se crean las clases poco en files con extensión .tt, para tener esas clases que representan las entidades de negocio del modelo, se puede...porque hay muchas formas...seguir estos simples pasos

Crear un nuevo proyecto, tipo Solución en blanco


Utilizando el lenguaje C#, agregar dos proyectos a la solución creada, de tipo Librería
de Clases: DAL y Entities y eliminar las clases Class1.cs que crean por defecto





Ahora, agregar un nuevo item al proyecto DAL, sera un 


en la siguiente pantalla escoger desde una base de datos y luego seleccionar la conexión y las tablas, dependerá de cada proyecto las tablas que se vayan a seleccionar para el modelo, así que sin mas suponemos que pueden crear un simple modelo de base de dtos utilizando Entity Framework así que después de todos los pasos que asumo a bien ustedes pueden realizar y la solución quedaría así


Ahora si, debemos dar click derecho en el proyecto DAL y seleccionar Open Folder in File Explorer...  luego buscar y cortar el file Modelo.tt, luego dar click derecho en el proyecto Entities, escoger de nuevo  Open Folder in File Explorer y pegarlo en la carpeta del proyecto Entities tal como muestra la secuencia








Ahora dar doble click en Modelo.tt dentro del proyecto Entitites y modificar el string InputFile de esto:


a esto y salvar cambios:


Ahora en el proyecto DAL, dar click derecho en Modelo.Context.tt y seleccionar Propiedades


Especificar el NameSpace donde se encuentra Modelo.tt


y por ultimo, hacer referencia desde el proyecto DAL al proyecto Entities


y eso es todo, ya tienes separadas alas entidades del negocio de la capa de datos que es donde se encuentra el modelo de Entity Framework para este ejemplo, tu puedes tener tu modelo donde mas te convenga, aqui lo importante es mostrar como hacer la separación de las clases desde el modelo.