29
votes

The Entity Framework does not support the Expression.Invoke operator. You receive the following exception when trying to use it:

"The LINQ expression node type 'Invoke' is not supported in LINQ to Entities.

Has anyone got a workaround for this missing functionality? I would like to use the PredicateBuilder detailed here in an Entity Framework context.

Edit 1 @marxidad - I like your suggestion, however it does baffle me somewhat. Can you give some further advice on your proposed solution?

Edit 2 @marxidad - Thanks for the clarification.

2
Yeah, looks like Entity Framework doesn't support this, nor could i jerry-rig a way to get it to evaluate in a way that would work.Darren Kopp
have a look at the CLR Method to Canonical Function Mapping page on MSDN.Mark Cidade

2 Answers

31
votes

PredicateBuilder and LINQKit now support Entity Framework.

Sorry, guys, for not doing this earlier!

0
votes

The Entity framework converts LINQ expressions into Entity Command trees and within that only its canonical functions are supported. You'd have to use the command trees with canonical functions to do something like PredicateBuilder.