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 »

Visual Studio 2015 Preview: Breve repaso

Hace ya bastante salió a la luz la nueva versión de Visual Studio en forma de Preview: Visual Studio 2015 Preview. Si bien es una versión preliminar (no recomendada para entornos productivos), nos permite conocer hacia donde se va a enfocar esta nueva versión del IDE.

Lo primero, podemos descargarlo de forma gratuita en el siguiente link: http://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx. En el mismo podremos loguearnos y proceder a la descarga del mismo.

Si bien la cantidad de mejoras y nuevas funcionalidades es muy variada y extensa, la primera que nos llamó la atención con @sebis cuando veíamos la presentación en vivo que se había realizado en el Connect(); es la integración de muchas de las funcionalidades que hasta el momento provee ReShaper. Para el que no lo conoce, ReSharper es un complemento de pago para Visual Studio, cuyo objetivo es permitirnos realizar código más eficiente y de mayor calidad con diferentes ayudas, sugerencias y opciones de refactoring que comprenden diferentes aspectos de toda la solución. En esta nueva funcionalidad de Visual Studio nos aparecerá un foquito en el sector izquierdo sobre la línea en cuestión sobre la cual surja la ayuda o sugerencia (lo cual coincide con lo usado hasta ahora por ReSharper).

Podemos mencionar como ejemplo las siguientes (solo por mencionar algunas):

  • Sugerencias de quitar y ordenar referencias: a diferencia de las otras versiones, podemos indicar si se desea aplicar el cambio en el archivo, proyecto actual o en toda la solución. Sin dudas esto puede llegar a resultar muy potente.

VS2015 - QuitarReferencias

 

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 »

Entity Framework: Database First

En el post anterior hablamos de las formas disponibles que tenemos de implementar Entity Framework en nuestra aplicación. Hoy vamos a ver la primera (y tal vez más sencilla) forma de implementarlo: Database First.

Database First es el método que nos permite primero crear la base de datos con sus tablas (y otras estructuras) y luego incorporarlas a la aplicación. Esto es necesario cuando la aplicación que realizamos necesita utilizar una base de datos existente. Otro uso que podemos darle es cuando necesitamos crear la base de datos, pero nos es más cómodo realizar la definición de las estructuras de la base de datos directamente con sentencias SQL, y luego importar los resultados en la aplicación (lo cual en muchos casos es muy útil y necesario, ya que nos permite definir las estructuras SQL tal cual las queremos o las necesitamos).

Leer más »

Formas de implementar Entity Framework en nuestra aplicación ASP.NET MVC

A la hora de realizar la conexión de nuestra aplicación ASP.NET MVC con su/sus base de datos, Entity Framework es una buena alternativa.

Una de las muy buenas funcionalidades que nos provee son las formas en las cuales podemos establecer la relación entre la base de datos y las entidades de nuestra aplicación, dependiendo de la forma de trabajo del equipo, y de si existe o no la base de datos:

Leer más »