Я создал TPH с первым кодом TPH и добавил атрибут NotMappedAttribute в необходимый столбец дискриминатора.Я могу добавить DbSets в свой контекст для подклассов и запросить эти типизированные наборы, и code-first все еще мой друг.
Однако, скажем, у меня есть объект, который сам содержит коллекцию BaseType, некоторые из которыхбыть одного типа, а некоторые другого.Как мне написать запрос, чтобы получить напечатанные записи?Кстати, я не хочу этого делать с загруженной в память коллекцией в памяти.
Предположим, что есть класс Association и некоторые подклассы AssocA и AssocB, которые все отображаются в таблицу ассоциаций и различаются поAssocationTypeId.Теперь предположим, что у вас есть сущность - для аргументов назовите ее Employee.Например,
class Employee
{
public virtual Collection<Associations> MyAssociations {get;set;}
}
Теперь я хочу запросить базу данных, чтобы найти сотрудников с AssocA =?.Я не хочу, чтобы какая-либо ассоциация была равна?но конкретная типизированная ассоциация.Я не могу использовать GetType, потому что LinqToEntities не может с этим работать.Я не могу использовать AttributeTypeId, потому что он используется в первом сопоставлении кода.
Чего мне не хватает?То, что я делаю, разумно.Но я не могу смоделировать это.