Cómo separar las clases de Entity Framework en un proyecto separado?

En este post vamos a seguir viendo algunas de las funcionalidades que tenemos disponibles en Entity Framework, en este caso cómo separar las clases que generadas por EF en un proyecto separado.

Generalmente cuando trabajamos con una arquitectura en capas tenemos un proyecto para nuestro acceso a datos separado de lo que es la parte de interfaz de usuario. A su vez por cuestiones de ordenamiento o por necesidad de compartir estas clases con otros proyectos (o directamente exportarlos en una assembly separada para compartirla con otra solución diferente) puede que necesitemos que las clases generadas por EF estén separadas de lo que es en sí el proyecto de acceso a datos.

Para empezar con este ejemplo vamos a plantear nuestro caso inicial. Tenemos nuestra aplicación ASP.NET MVC con dos proyectos, uno de la App web en sí y otro para el acceso a datos con Entity Framework Database First:

MoverClasesEF - ConfiguracionInicial

Lo que vamos a hacer a continuación es agregar un nuevo proyecto para nuestras clases compartidas, en este caso DemoEF.Entities. Luego de crearlo habrá que agregar al proyecto de datos la referencia al mismo.

Leer más »

Anuncios

¿Cómo crear una aplicación en AppHarbor? – Agregar una base de datos

Siguiendo con el post anterior donde vimos cómo crear una aplicación en AppHarbor, vamos a seguir sobre la misma temática pero enfocándonos en un punto en particular: agregar interacción con una base de datos. Generalmente cuando desarrollamos una aplicación ASP.NET MVC tenemos alguna interacción con bases de datos, independientemente del uso que necesitemos darle.

AppHarbor maneja el concepto de Add-Ons. Los mismos son agregados que podemos incluir en nuestra aplicación, algunos gratuitos y otros de pago. Las bases de datos son uno de los tipos de Add-Ons disponibles, siendo otras opciones dedicadas al monitoreo del sitio (por ejemplo New Relic), gestión de archivos multimedia, envíos de emails, entre otros.

Para gestionar los mismos vamos al portal de administración de nuestra aplicación y seleccionamos la opción “add-on catalog” ubicada en la parte inferior:

AppHarbor - InstalarAddOn
Agregar Add-On

Leer más »

Entity Framework: Code First

En posts previos vimos dos alternativas para implementar Entity Framework en nuestras aplicaciones web ASP.NET MVC: Database First y Model First. En este post es el turno de la última opción que podemos elegir: Code First.

Code First se considera la alternativa más adecuada para aquellos casos en los que hay que crear la base de datos desde cero en conjunto con la aplicación, y es el equipo de desarrollo quien debe hacerlo. Usando Code First literalmente no deberemos escribir una sola sentencia SQL (lo cual no implica que no debamos conocer aspectos propios de su arquitectura). El enfoque es muy similar a lo que nos propone Model First, pero en vez de trabajar con una herramienta de diseño lo haremos directamente desde el código. Además nos provee algunas opciones interesantes, que iremos viendo a lo largo de este post.

Leer más »

EntornoTrabajo - ModelFirst

Entity Framework: Model First

En uno de los post anteriores vimos Database First como el primero de los métodos con los que implementar Entity Framework en nuestra aplicación. Ahora veremos el segundo: Model First.

A diferencia de Database First, Model First se caracteriza por primero definir las clases en la aplicación y a partir de ello crear la base de datos asociada. Esto es posible para los casos en los cuales estamos creando al mismo tiempo la base de datos y la aplicación, es decir no debemos usar un conjunto de datos ya existentes, y el equipo de trabajo prefiere usar herramientas gráficas antes que sentencias SQL.

Leer más »