EF i dziedziczenie klas

0

Mam strukturę klas jak poniżej, którą próbuję przenieść za pomocą EF do bazy:

public abstract class ServiceItem
{}

public class InstallationServiceItem: ServiceItem
{}

public abstract class SubscriptionServiceItem : ServiceItem
{}

public class InternetSubscriptionServiceItem: SubscriptionServiceItem 
{}

public class PhoneSubscriptionServiceItem: SubscriptionServiceItem 
{}
 

Czy EF jest w stanie to ogarnąć (w sensie wielokrotne dziedziczenie)? Jaki DbSet<> trzeba wpisać w tym przypadku w klasie inicjalizującej, żeby stworzyć jedną dużą tabelę ze wszystkimi właściwościami i polem discrimantor?

0

Czytałem ten artykuł, ale nie ma tam wielopoziomowego dziedziczenia, a mi po wpisaniu do DbSet nadrzędnej klasy abstrakcyjnej nie generuje pól ze wszystkich pozostałych klas.

0

To masz problem gdzieś indziej najprostszy przykład EF v6.1.3:
Capture.PNG

0

Ok, czyli działa. Widocznie musiałem coś przekombinować w tych klasach. Ja co prawda robię to w EF7, ale tak też powinno to działać. Pozostaje mi wyłączenie plików z kompilacji i analizowanie tego metodą małych kroczków.

0

W EF7 wprowadzili drobne zmiany, więc zamieszczam link na przyszłość http://ef.readthedocs.org/en/latest/modeling/inheritance.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1