EF6 Mapping基类属性并使用不同的表派生

时间:2014-09-23 03:01:05

标签: c# entity-framework

我使用的是Entity Framework 6,我有以下基类

public class ModelBase { public int ModelBaseId { get; set; } public string Name { get; set; } public string Description { get; set; } public IList<Notification> Notifications { get; set; } public IList<Assignable> Viewers { get; set; } }

和派生的

public class Model : ModelBase { public int ModelId { get; set; } public User Owner { get; set; } public DateTime Date { get; set; } public string Observations { get; set; } public User Assignament { get; set; } }

使用所有派生类实例的相同数据填充ModelBase属性。我想使用表(A)映射基本实体属性,并使用另一个表(B)映射派生类的属性。当我添加Model时,只需在表B中插入。 有没有办法做到这一点?解释起来很复杂,但我试图简化我的问题。

提前致谢!

1 个答案:

答案 0 :(得分:0)

假设您正在使用Codefirst ... 你应该尝试映射它们。

public class ModelBaseMap:EntityTypeConfiguration<ModelBase>
{
    public ModelBaseMap()
    {
        this.toTable("ModelBase");
    }
}

public class ModelMap:EntityTypeConfiguration<Model>
{
    public ModelBaseMap()
    {
        this.toTable("Model");
    }
}

我认为应该有效