При использовании традиционной Entity Framework и запросов с ESQL вы можете использовать OFTYPE только для возврата только базовых типов.
См .: http://msdn.microsoft.com/en-us/library/bb399295.aspx
Во-первых, в Entity Framework Code, у меня настроено наследование, где B является подтипом A. Выполнение MyContext.Set<A>().OfType<A>()
по-прежнему возвращает элементы типа B. В идеале, я хотел бы вызвать MyContext.Set<A>().OfOnlyType<A>()
, и оно будет переведено таким же образом. как при использовании только OFTYPE ESQL.
Я также обнаружил, что могу использовать оператор is
в операторе where, но, опять же, он будет возвращать сущности A и B.
Как написать выражение linq, которое будет фильтровать только элементы типа A?