Как реализовать наследование Table-Per-Type в Entity Framework 4.3 с помощью подхода Code First? - PullRequest
2 голосов
/ 05 марта 2012

У меня есть эта иерархия классов в коде:

[Table("A")]
public class A : IIdentification
{
    public int id { get; set; }
}

[Table("B")]
public class B : A
{
    //some properties here
    public Aid { get; set;}
    ForeignKey("Aid");
    public A A { get; set; }
}

[Table("C")]
public class C : B
{
    //some properties here 
    public Bid { get; set; }
    ForeignKey("Bid");
    public B B { get; set; }
}

[Table("D")]
public class D : C
{
    public Cid { get; set;}
    ForeignKey("Cid");
    public C C { get; set; }
}

Как я могу сделать одну таблицу с внешним ключом для каждого класса или любым другим возможным правильным способом?Может быть, кто-нибудь мог бы опубликовать пример того, как этого добиться?

Может быть, это тривиальный вопрос, но я потратил целый день, реализовал много решений, описанных в темах, и он все еще не работает.Поэтому я буду очень признателен, если кто-нибудь сможет мне помочь с этим.

1 Ответ

5 голосов
/ 05 марта 2012

В отображенном наследовании у вас нет доступного свойства навигации для родительского объекта, если вы не хотите смоделировать другое отношение.Наследование - это отношение "is", поэтому B это A, в то время как FK имеет отношение "."

...