contacto-con-entity-framework

Páginas: 16 (3864 palabras) Publicado: 23 de enero de 2014
SERVICIO DE INFORMÁTICA | UNIVERSIDAD DE ALICANTE

ASP.NET MVC 3 y 4
CONTACTO CON ENTITY FRAMEWORK
Andrés Vallés Botella | Analista | Desarrollos propios
Servicio de Informática | Universidad de Alicante
Campus de Sant Vicent del Raspeig | 03690 | España
http://si.ua.es/es/

ÚLTIMA ACTUALIZACIÓN: 13 DE OCTUBRE DE 2012

ASP.NET MVC 3 Y 4 | CONTACTO CON ENTITY FRAMEWORK

2º DÍA –CONTACTO CON ENTITY FRAMEWORK
CODE FIRST (SQL SERVER)
INTEGRAR APLICACIÓN DEL 1º DÍA
MVC está apuntando muy fuerte por el modelo de trabajo Code First. De forma muy resumida Code
First nos facilita que nosotros creamos el modelo con clases y luego ya se encargará el sistema de
traspasarlo a la base de datos. Todo esto lo vamos a probar desde SQL Server porque en el ODP de
Oracle no se haimplementado esta funcionalidad. Posiblemente en la nueva versión (a finales de
año) ya vendrá integrada.
Los pasos son muy sencillos. Lo primero es crear una clase que herede de DbContext que hará de
nexo entre nuestra aplicación y nuestra base de datos. Dentro de esta indicamos las tablas que se
deben crear. Serán parámetros públicos del tipo DbSet.
public class BibliotecaContext : DbContext
{public DbSet Libros { get; set; }
public DbSet TiposLibros { get; set; }
}

Ahora debemos crear una conexión a SQL Server con el mismo nombre de la clase que hemos creado
anteriormente. En nuestro caso BibliotecaContext.




Si queremos tener datos cargados por defecto cada vez que carguemos nuestra aplicación podemos
acceder al global.asax y en Application_Start añadir un evento deinicialización.
protected void Application_Start()
{
Database.SetInitializer(new BibliotecaContextInitializer());

En nuestro caso eliminamos completamente la base de datos y creamos un tipo de libro de tipo
novela.
public class BibliotecaContextInitializer
: DropCreateDatabaseAlways
{
protected override void Seed(BibliotecaContext context)
{
context.TiposLibros.Add(new TipoLibro {Descripcion = "Novela" });
}
}

Andrés Vallés Botella | Analista | Desarrollos propios
Servicio de Informática | Universidad de Alicante
Campus de Sant Vicent del Raspeig | 03690 | España
http://si.ua.es/es

2

ASP.NET MVC 3 Y 4 | CONTACTO CON ENTITY FRAMEWORK

Como os habréis fijado a los nombres de las tablas les ha añadido “es”. Por defecto pluraliza los
nombres de las tablas, y en elcaso del español lo hace con es.
Para evitar este comportamiento debemos modificar la clase DbContext e incluir
protected override void OnModelCreating(DbModelBuilder dbModelBuilder)
{
dbModelBuilder.Conventions.Remove();
}

Ahora si que aparecen las dos tablas con los nombres de nuestras clases.

Si ejecutamos al aplicación, el resultado es el mismo, pero la diferencia principal es quelos datos no
se almacenan en memoria como se hacía ayer, sino que realmente se están almacenando en

Si solo queremos que se borre la base de datos cuando se modifica la estructura del modelo y no
cada vez que se reinicie la aplicación, accedemos al global.asax y modificamos
public class BibliotecaContextInitializer
: DropCreateDatabaseIfModelChanges

Si por el contrario solo queremos quese inicialice si no existe la base datos (el modelo sea muy
estable).
public class BibliotecaContextInitializer
: CreateDatabaseIfNotExists

Andrés Vallés Botella | Analista | Desarrollos propios
Servicio de Informática | Universidad de Alicante
Campus de Sant Vicent del Raspeig | 03690 | España
http://si.ua.es/es

3

ASP.NET MVC 3 Y 4 | CONTACTO CON ENTITY FRAMEWORK

ENTITYFRAMEWORK
GESTIÓN DE TABLAS CON ENTITY FRAMEWORK
Vamos a crear un sencillo ejemplo en Oracle para ver que es y para que sirve el modelo Entity
Framework (FW).
Abrimos el Oracle SQL Developer y creamos dos tablas CSI_LIBRO, CSI_TIPOLIBRO

Creamos una secuencia (CSI_SEQ) para que las claves primarias de ambas tablas sean autonuméricas
(Clave Primaria de Secuencia).
Ahora creamos un disparador para...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Entity Framework
  • ADO Entity Framework
  • Entity framework
  • entity framework
  • Entity Framework
  • Enfoques De Entity Framework
  • Framework
  • Que es framework

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS