Mam następujący model:Abstrakcyjny typ X ma odwzorowanych potomków, a więc nie może być odwzorowany
public abstract class AbstractBase { }
public abstract class AbstractBase<T> : AbstractBase where T : SomeOtherTypeBase
{
T MyProp {get; set;}
}
public class Concrete1 : AbstractBase<OtherTypeSpecializationFor1> { }
public class Concrete2 : AbstractBase<OtherTypeSpecializationFor2> { }
Ale Entity Framework daje mi błąd:
Abstrakcyjny typ AbstractBase ma żadnego odwzorowany potomków i tak nie można mapować
Moim zdaniem nie powinno to mieć miejsca, ponieważ AbstractBase bezpośrednio dziedziczy z AbstractBase i klas Concrete1/2, które są dziedziczone z klasy GenericAbstractBase. Co tu się dzieje ?
Ponadto, z czystej ciekawości, zastanawiam się, czy właściwość typu T w GenericAbstractBase będzie utrzymywana przez EF, na wypadek, gdyby ktoś przechodzący obok miał na myśli odpowiedź.
Update 1
Czy ktoś może potwierdzić, że ta jest obsługiwana przez EF? Widziałem to post i według odpowiedzi Rowan powinno tak być. Dziękuję
Update 2 sam problem, gdy rodzajowe klasa bazowa nie jest abstrakcyjna.
to '' Concrete2' Concrete1' i faktycznie odwzorowanych w konfiguracji? –
Tak, są, mam DbSets dla tych typów, a także wyraźnie je zarejestrowałem w OnModelCreating – reddy
Myślę, że to może być duplikat http://stackoverflow.com/questions/12538004/entity-framework-5-the-abstract -type-x-ma-nie-mapował-potomków-i-tak-cann –