2010-08-31 41 views
0

我有一個大表格,我想映射到幾個實體。Code First EF4的CTP4 - 如何將多個實體(公共基地)映射到單個表格

說表是這樣的:事情(ThingId,Property1 ... Property20)

現在我有我的實體:

public abstract class ThingBase 
{ 
    public int ThingId { get; set; } 
    public string Property1 { get; set; } 
    public string Property2 { get; set; } 
} 

public class ThingSummary : ThingBase 
{ 
    public string Property3 { get; set; }  
} 

public class Thing : ThingBase 
{ 
    public string Property3 { get; set; } 
    //... 
    public string Property20 { get; set; } 
} 

如何設置我的DbContext所以它是否行得通呢?我有:

public DbSet<ThingSummary> ThingSummaries { get; set; } 

public DbSet<Thing> Things { get; set; } 

但我得到一個錯誤「無效的對象名稱'dbo.ThingSummaries'」。當我嘗試查詢時。

我曾嘗試加入OnModelCreating:

modelBuilder.Entity<ThingSummary>().MapSingleType().ToTable("Things"); 

但這似乎並沒有做任何事情。

任何想法?

回答

1

我認爲你不能有ThingSummaries。你只能有東西。你也不能使用MapSingleType,因爲它說只有單一類型將被映射到表中。您必須改用MapHiearchy。我在這個question上發佈了這樣的映射的例子。

相關問題