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

32
Entity Framework Code First Datenbanken ohne Designer

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

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

Entity Framework Code FirstDatenbanken ohne Designer

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

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)

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

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)

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

Einfaches Setup• Install-package EFCodeFirst

• oder Referezierung der EntityFramework.dll

• Referenzierung System.Data.Entity.dll

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

Einfaches VerwendungPOCO Context erstellen

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

Einfaches VerwendungAutomatisch beim ersten

Zugriff auf den DbContext!

Automatisch beim beim

erstellen der Datenbank

Beim Programmstart

initializieren

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

Verwendung im Code

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

Objekt Model

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

Vergleich Klasse und Tabelle->Person

Class Table

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

Vergleich AddressClass Table

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

Vergleich ContactClass Table

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

Vergleich CompanyClass Table

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

Vererbung in der Datenbank

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

Eine Tabelle per Hierachie (TPH)

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

Vererbung in der Datenbank

0:NBeziehung entfernt

Problem mit CTP 5 und

TPT

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

Eine Tabelle pro Type (TPT)

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

Vererbung in der Datenbank

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

Eine Tabelle pro konkretem Type (TPC)

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

Vererbung in der Datenbank

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

Property Mapping to Colum

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

Property Mappings

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

Eigenen Discriminator

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

Tabellen Splitting

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

Tabellen Splitting

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

Eigene N:M Tabelle angeben

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

Eigenschaften Ignorieren

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

Die Property Id ist der Primary Key

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

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)

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

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

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

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

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

ColumnName für PrimaryKey

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

Nachlesen

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