Выражение. Вызов в Entity Framework? - PullRequest
29 голосов
/ 14 августа 2008

Entity Framework не поддерживает оператор Expression.Invoke. Вы получаете следующее исключение при попытке использовать его:

"Тип узла выражения LINQ 'Invoke' не поддерживается в LINQ to Entities.

Кто-нибудь получил обходной путь для этой недостающей функциональности? Я хотел бы использовать подробный PredicateBuilder здесь в контексте Entity Framework.

Редактировать 1 @marxidad - Мне нравится ваше предложение, однако оно несколько сбивает меня с толку. Можете ли вы дать дополнительные советы по предложенному решению?

Редактировать 2 @marxidad - Спасибо за разъяснения.

Ответы [ 2 ]

30 голосов
/ 05 апреля 2009

PredicateBuilder и LINQKit теперь поддерживают Entity Framework.

Извините, ребята, что не сделали этого раньше!

0 голосов
/ 18 августа 2008

Платформа Entity преобразует выражения LINQ в деревья команд Entity, в которых поддерживаются только ее канонические функции. Вам придется использовать деревья команд с каноническими функциями, чтобы сделать что-то вроде PredicateBuilder.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...