2016-03-22 7 views
1

У меня есть класс , который наследует от класса B, в то же время класса А имеет много случаев B. Класс B содержит класс A недвижимость в качестве ссылки.Entity Framework, сложные отношения

Я ищу лучший способ сопоставить эти отношения, используя EF Codefirst.

+0

я могу с трудом представьте себе эти отношения. Что такое A и B в вашем реальном коде? –

+0

Я думаю, вы должны рассмотреть раздирание B отдельно на два класса, потому что я не могу найти логический способ использования такого рода отношений. –

+0

Вы думаете о категории, подкатегории типа сценария, где подкатегория является экземпляром категорий и категорий может иметь много подкатегорий? –

ответ

2

А НЕ унаследовали от B. Они имеют несколько общих свойств, как это:

class ABCommon 
{ 
    //common properties here 
} 

class B : ABCommon 
{ 
    public virtual A A { get; set; } 
    //this property makes everything crazy if A inherits from B 
} 

public A : ABCommon 
{ 
    public virtual ICollection<B> Bs { get; set; } 
} 

Это просто простой 1-ко-многим между A и B.

Смежные вопросы