У меня есть такие классы, как:
Person
{
Name
Address
}
Employee : Person
{
Compensation - object
}
Visitor : Person
{
}
Если я напишу linq:
var persons = Context.Persons
.Include("Compensation");
, я получаю сообщение об ошибке:
Указанный путь включения не является допустимым. EntityType 'Person' не объявить свойство навигации с назовите «Компенсация».
Если я это сделаю, это будет работать нормально:
var persons = Context.Persons
.OfType()
.Include("Compensation");
Но я хотел бы получить сотрудников и посетителей в одном запросе.
Похоже, есть запрос на эту функцию на EF4 UserVoice: http://data.uservoice.com/forums/72025-ado-net-entity-framework-ef-feature-suggestions/suggestions/1249289-include-property-of-deved-classes?ref=title
, но не похоже, что это будет сделано в ближайшее время.
Какой хороший способ решения этой проблемы?