martes, 2 de diciembre de 2014

Asp.Net MVC 5 actualizando modelos en la base de datos

Para mantener sincronizados los modelos que hemos creado con la base de datos, se requiere utilizar los siguientes comandos.

Primero se debe habilitar Migrations:

  Enable-Migrations -ContextTypeName EjemploModels.Models.PersonaDBContext

Y después, se debe seguir utilizando los siguientes comandos cada vez que queremos actualizar:

  Add-Migrations

Y por último, se debe actualizar:

  Update-Database



Para más detalles, dejo el siguiente link:

http://geeks.ms/blogs/rafahernandez/archive/2012/04/29/entity-framework-f-4-3-code-first-migrations.aspx

Asp.Net MVC 5: Cambiando la configuracion de conección a base de datos de Entity Framework

Por defecto, en un proyecto MVC 5 de Visual Studio 2013,  la base de datos que Entity Framework utilizada es LocalDb. Con este tip, podremos cambiar a una conección diferente de Base de Datos, por medio del archivo de configuración.

Solo debemos reemplazar la siguiente sección del archivo Web.config. (Configurado para LocalDB)

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>

Por este otro, que utiliza una conección diferente (por ejemplo Sql Server)

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="Data Source=...; Integrated Security=True; MultipleActiveResultSets=True" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>

En el parámetro "value" del atributo "parameter", se debe escribir la misma cadena de conexión que se escribiría en una conexión normal.

Por ejemplo:

  value="Data Source=NombreServidor;Initial Catalog=NombreBaseDatos;User ID=Usuario;Password=Contraseña"