Expression.Invoke в Entity Framework?

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

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

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

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

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

Ответов (2)

Решение

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

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

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