Entity Framework Code First .NET User Group Köln 11. Januar 2011

Post on 16-Jan-2015

1.449 views 4 download

description

Mein Folien zum Vortrag Entity Framework Code First am 11. Januar 2011 bei der .NET User Group Köln

Transcript of Entity Framework Code First .NET User Group Köln 11. Januar 2011

Entity Framework Code FirstDatenbanken ohne Designer

ADO.NET Entity Framework Code First• Code First• Mapping von Klassen zu Datenbank-Tabellen• Konvention über Konfiguration• Eigenen Konventionen sind möglich• und/oder „manuell“ Konfigurierbar über Code

(Fluent)

ADO.NET Entity Framework Code First• Code First• Mapping von Klassen zu Datenbank-Tabellen• Konvention über Konfiguration• Eigenen Konventionen sind möglich• und/oder „manuell“ Konfigurierbar über Code

(Fluent)

Einfaches Setup• Install-package EFCodeFirst

• oder Referezierung der EntityFramework.dll

• Referenzierung System.Data.Entity.dll

Einfaches VerwendungPOCO Context erstellen

Einfaches VerwendungAutomatisch beim ersten

Zugriff auf den DbContext!

Automatisch beim beim

erstellen der Datenbank

Beim Programmstart

initializieren

Verwendung im Code

Objekt Model

Vergleich Klasse und Tabelle->Person

Class Table

Vergleich AddressClass Table

Vergleich ContactClass Table

Vergleich CompanyClass Table

Vererbung in der Datenbank

Eine Tabelle per Hierachie (TPH)

Vererbung in der Datenbank

0:NBeziehung entfernt

Problem mit CTP 5 und

TPT

Eine Tabelle pro Type (TPT)

Vererbung in der Datenbank

Eine Tabelle pro konkretem Type (TPC)

Vererbung in der Datenbank

Property Mapping to Colum

Property Mappings

Eigenen Discriminator

Tabellen Splitting

Tabellen Splitting

Eigene N:M Tabelle angeben

Eigenschaften Ignorieren

Die Property Id ist der Primary Key

Konventionen• Type (System)• PropertyInfo (System.Reflection)

• ModelConfiguration (System.Data.Entity.ModelConfiguration.Configuration)

• EntityTypeConfiguration (System.Data.Entity.ModelConfiguration.Configuration.Types)

• PropertyConfiguration (System.Data.Entity.ModelConfiguration.Configuration.Properties)

Die Property Class-Name+“Key“ ist der Primary Key

Konventionen• Type (System)• PropertyInfo (System.Reflection)

• ModelConfiguration (System.Data.Entity.ModelConfiguration.Configuration)

• EntityTypeConfiguration (System.Data.Entity.ModelConfiguration.Configuration.Types)

• PropertyConfiguration (System.Data.Entity.ModelConfiguration.Configuration.Properties)

• PrimitivePropertyConfiguration• DateTimePropertyConfigura

tion • DecimalPropertyConfigurati

on• LengthPropertyConfiguratio

n• StringPropertyConfigurati

on • BinaryPropertyConfigurat

ion

ColumnName für PrimaryKey

Nachlesen

• http://blogs.msdn.com/b/adonet/