How to map table splitting in EF Code First?
Solution 1:
Here is how I just got EF 4.1 (RC) to do table splitting in Code First.
- Define your two entities. Make sure to include the key in both entities. Also, include navigation properties in each entity pointing to the other entity.
-
In your OnModelCreating override . . . a. Map both entities to the same table. b. Create the relationship between the two tables.
modelBuilder.Entity<EntityOne>().ToTable("MySingleTable"); modelBuilder.Entity<EntityTwo>().ToTable("MySingleTable"); modelBuilder.Entity<EntityOne>().HasRequired(p => p.NavToEntityTwo).WithRequiredDependent(c => c.NavToEntityOne);
This is working for me, but realize that given the newness of the RC I've only been able to look at limited and simple scenarios.