LINQKit

De Banane Atomic
Aller à la navigationAller à la recherche

Links

AsExpandable

Csharp.svg
Expression<Func<User, bool>> expression = x => x.Name.EndsWith("2");

context.Users.Where(expression); // works fine !

// as x.Users is not a IQueryable, Any cannot take an Expression but a Func
// so we need to use Compile to get Func from Expression
context.Groups.Where(x => x.Users.Any(expression.Compile())); // Entity Framework will throw an exception

// solution: use AsExpandable
context.Groups.AsExpandable().Where(x => x.Users.Any(expression.Compile()));