2012-11-21 226 views
3

我有以下2個表TableA和ArchivedTableA。 基本上它們是相同的表格,但TableA中的行移動到ArchivedTable中歸檔它們。實體框架表繼承

我如何在實體框架中表示這個,以便這兩個類繼承自同一個實體。我正在使用POCO。

回答

0

我會創建一個基類,它具有公共屬性,例如

 public class BaseEntity 
    { 
     public virtual int Id {get;set;} 
     public DateTime CreatedOn {get;set;} 
    } 

然後創建從這個基類becouse他們有共同的列如下繼承POCO對象....

public class TableA : BaseEntity 
{ 
    public string NewName {get;set;} 
} 

public class ArchivedTableA : BaseEntity 
{ 
    public string Name {get;set;} 
} 

顯然,你需要做的DbSet映射等,在EF管道的形式這個頂部...

+0

感謝您的回覆。 –

+0

你的意思是刪除T4代? –

+0

不一定。 T4模板只是「模具」來生成您的EF類。您可以創建自己的自定義T4模板,它使用上面的繼承模式。首先,我會在您對對象模型感到滿意後手寫所有類,然後從該對象模型創建T4模板。 – daehaai