[Entity Framework][Code First] Herencia - Tabla por tipo - Table per Type (TPT) http://ltuttini.blogspot.com.ar/

Páginas: 3 (744 palabras) Publicado: 16 de abril de 2014
[Entity Framework][Code First] Herencia - Tabla por tipo - Table per Type (TPT)


Introducción

Analizaremos un modelo de herencia el cual permite definir una tabla para cada tipo concreto. Eneste caso la relación entre las tablas define el tipo de instancia de la entidad.

El modelo utilizado en este artículo es idéntico al anterior:

[Entity Framework][Code First] Herencia - Tablapor jerarquía - Table per Hierarchy (TPH)



Definición del modelo

Modelaremos la entidad empleado y sus derivados que representan al personal externo y el contratado por la compañía.Partiremos de un modelo de clases como el siguiente:

image

y obtendremos un modelo de tablas

image

en donde cada la clase base estará en una tabla mientras que los derivados, con susatributos particulares, en otras distintas.

En este caso la relación entre las tablas define el tipo, a diferencia del modelo TPH (Tabla por jerarquía) en donde un campo era quien lo indicaba.Definición del Mapping

Se va a necesitar definir en que tabla se persiste cada tipo especifico, es por ello que se requiere una clase de mapping para cada derivado que herede de la base.public class NorthWindContext : DbContext
{

public NorthWindContext()
: base("NorthwindDb")
{
this.Configuration.LazyLoadingEnabled = false;
this.Configuration.ProxyCreationEnabled = false;
}public DbSet Employees { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new EmployeeMap());modelBuilder.Configurations.Add(new EmployeeInternalMap());
modelBuilder.Configurations.Add(new EmployeeExternalMap());

base.OnModelCreating(modelBuilder);
}

}

public class EmployeeMap : EntityTypeConfiguration{
public EmployeeMap()
{
HasKey(x => x.EmployeeID);
Property(x => x.LastName).HasMaxLength(20).IsRequired();
Property(x => x.FirstName).HasMaxLength(10).IsRequired();

Property(x =>...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Tabla per
  • Herencia De Tablas
  • Tabla Cod Ascii
  • Tabla De Cod Ascii
  • Entity Framework
  • tablas de tipos de contaminacion
  • tablas de frecuencia tipo a y b
  • TABLA COMPARATIVA TIPOS DE TEXTOS

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS