How to create a Linq To Entities expression

不羁岁月 提交于 2019-12-12 04:48:30

问题


HI, I'm using Linq To Entities and I'd like to convert this

return db.Products
         .Where(p => p.idUser.Equals(id) && 
                     p.Category.Genre.Any(g => g.visible))

into something like

Func<Genre, bool> expr = g => g.visible

return db.Products
         .Where(p => p.idUser.Equals(id) && 
                     p.Category.Genre.Any(expr))

so I can add more complexity with something like this

Func<Genre, bool> expr = g => g.visible
expr += g => g.position < 5

But I always have an 'internal 1025 error .NET'. Can anyone help me, please? Thanks.


回答1:


You need to use Expressions, not delegates. You can use the PredicateBuilder class by Joseph Albahari to build your predicate dynamically :

Expression<Func<Genre, bool>> expr = g => g.visible;
expr = expr.And(g => g.position < 5);


来源:https://stackoverflow.com/questions/2517529/how-to-create-a-linq-to-entities-expression

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!