HI,我正在使用Linq To Entities,我想转换此
return db.Products
.Where(p => p.idUser.Equals(id) &&
p.Category.Genre.Any(g => g.visible))
类似
Func<Genre, bool> expr = g => g.visible
return db.Products
.Where(p => p.idUser.Equals(id) &&
p.Category.Genre.Any(expr))
所以我可以用这样的东西增加更多的复杂性
Func<Genre, bool> expr = g => g.visible
expr += g => g.position < 5
但我总是有'内部1025错误.NET'。 有人可以帮帮我吗? 感谢。
答案 0 :(得分:3)
您需要使用Expression
,而不是代表。您可以使用Joseph Albahari的PredicateBuilder
类来动态构建谓词:
Expression<Func<Genre, bool>> expr = g => g.visible;
expr = expr.And(g => g.position < 5);