Anexsoft | Blog y dictado de cursos de Tecnología

En este encontrarás tutoriales de tecnología como PHP, ASP.NET MVC, Front-End, entre otros y cursos exigentes de modalidad online que te ayudarán a crecer profesionalmente.

Implementando migraciones con Entity Framework y ASP.NET MVC
Actualizado el 26 Marzo, 2016 y leído 3,232 veces
Calificación: 9.00 / 10

Implementando migraciones con Entity Framework y ASP.NET MVC

Anexsoft

Señores como estan, el objetivo de esta entrada es entender como funciona el tema de las migraciones con ASP.NET MVC + Entity Framework. Lo que voy a explicar aquí es más un concepto teórico y dar la lista de los comandos disponibles, en el video esta todo el ejemplo completo que deben visualizar para poder comprender la implenetación.

 

¿Qué es y por qué las migraciones?

Las migraciones nos permiten trabajar con un sistema versionado de nuestra base de datos. Es decir, cuando se trabaja en un proyecto con varios desarrolladores en ves de estar pasando un script de la base de datos para replicar los cambios realizados, sería más sencillo implementar el tema de migración con EF y actualizar a la versión más reciente ejecutando un solo comando. En pocas palabras, la finalidad de la migración es controlar versiones de la DB y ayudar a la colaboración en el trabajo en equipo. Este concepto se viene aplicando a diversas tecnologías y frameworks, por ejemplo "Laravel" de PHP.

Personalmente yo prefiero hacer las cosas al reves, es decir trabajando usando el concepto Database First. En la cual hago todo desde la base de datos y luego genero las clases usando la herramienta del EF, me parece más práctico.

 

¿Qué vamos hacer ahora?

  • Crear un proyecto ASP.NET MVC y adicionar las clases que serán convertidas a tablas usando el concepto de CodeFirst.
  • Habilitaremos nuestra migración en un proyecto separado (no queremos mezclarlo con nuestra capa Web).
  • Generaremos nuestra primera migración
  • Actualizaremos la base de datos
  • Revertiremos una migración
  • Y haremos migraciones más compleja usando relaciones de 1-n y n-n.

Recomiendo profundizar el tema de Fluent Api y hacer pruebas para entender mejor como trabajar con las migraciones y tener un mayor control.

 

Comandos de migración

Para ejecutar los comandos tenemos que habilitar la consola de Nuget, nos vamos a Tools > NuGet Package Manager > Package Manager Console. A continuación una breve lista de los comandos.

  • Enable-Migrations: habilita la migración en nuestro proyecto. Si lo hemos hecho bien deberíamos ver una carpeta llamada Migrations con un archivo de configuración.
  • Add-Migrations: prepara los cambios que se van agregar a nuestra base de datos.
  • Update-Database: actualiza los cambios pendientes a nuestra base de datos.

Cada comando tiene una serie de subcomandos internos, para más información en el pie de la página he compartido algunos enlaces para profundizar en el tema.

 

¿Cómo comenzar con un proyecto que ya tenía creado previamente la base de datos?

Si vamos a habilitar el tema de migraciones pues debemos actualizar nuestra migración actual diciendole al EF que ignore los cambios previos, y a partir de lo que se haga ahora será usando las migraciones. Del caso contrario EF va a intentar migrar todas las clases que tengamos en nuestro proyecto.

Add-Migration InitialMigration –IgnoreChanges

 

Mi VS no reconoce los comandos

En el caso de obtener un mensaje como este "enable-migration : The term 'enable-migration' is not recognized as the name of a cmdlet, function, script file, or operable program". Ejecuten el siguiente comando aputando a la capa o proyecto donde estan trabajando con EF.

Install-Package EntityFramework -IncludePrerelease

 

¿Qué debo hacer ahora?

Debes visualizar el video completo y llevarme el ritmo porque no estoy adjuntado el proyecto. Quiero que trabajes, que te esfuerces en hacer las cosas :).

¡Adquiera ya!

  • Software de Venta e Inventario hecho en PHP y Codeigniter

    Software de Venta e Inventario hecho en PHP y Codeigniter
  • Código de fuente de Red Social desarrollada en ASP.NET MVC

    Código de fuente de Red Social desarrollada en ASP.NET MVC

Últimas publicaciones

Encuesta

¿Cómo nos conociste?

Síguenos

Estudia con nosotros y crece profesionalmente

Nuestros cursos han sido hecho en base a lo que demanda el mercado hoy en día.
La experiencia obtenida es la de un ambiente laboral.

Anexsoft
© 2017 Anexsoft, blog y cursos online de TI.