Я уже немного почесываю голову здесь ... У меня есть класс Consumer и класс BillableConsumer, который наследует Consumer. Они оба являются частью набора Потребителей. Проблема в том, что этот запрос:Как получить только базовый класс (инфраструктура сущности)?
Consumer consumer = (from c in _ctx.Consumers where c.ID = id select c).First();
возвращает экземпляр BillableConsumer! Точно так же как этот запрос:
BillableConsumer bconsumer = (from c in _ctx.Consumers.OfType<BillableConsumer>() where c.ID = id select c).First();
Как я могу вернуть экземпляр только базового класса? (это отдельные таблицы в хранилище данных).
Я думаю, пытаюсь сделать это является нарушением принципа замещения Лиск (см Http: // эн. wikipedia.org/wiki/Liskov_substitution_principle) Может быть BillableConsumer не является потребителем, и вы должны сделать ConsumerBase с общими полями и двумя наследниками: Consumer and BillableConsumer. –