在派生类中使用与实体框架相同的外键

时间:2017-03-17 14:28:42

标签: c# entity-framework

我对Entity Framework有一些问题:我有一个带有两个派生类的基类。另一方面,我有一个包含三个List的类,每个List包含一个提到的类:

public class Base {
    public int id { get; set; }
    public Datetime date { get; set; }
}

public class Derived1: Base{
}

public class Derived2: Base{
}

public class Container {
    public int id { get; set; }
    public List<Base> base { get; set; }
    public List<Derived1> derived1 { get; set; }
    public List<Derived2> derived2 { get; set; }
}

我想要的是Base Derived1和Derived2对Container使用相同的外键。在Container中我希望List of Base聚合他的List of Derived1和Derived2。但我无法弄清楚如何做到这一点。通常,所有来自base的派生类都将使用相同的外键,但每次尝试此代码时,Entity框架都会为每个类创建一个外键。这里不是什么大不了的事,但是Base,Derived1和Derived2应该与其他两个类共享相同的外键,如果它拒绝使用相同的外键,那么它实际上是非常复杂的(我将有9列而不是3)。

0 个答案:

没有答案