我试图将以下查询重写为单独的语句:
var sql = Repository.Products.AsQueryable();
sql = sql.Where(x => x.Name == "aaaaa" || x.Name == "bbbbb");
如果我这样做:
sql = sql.Where(x => x.Name == "aaaaa");
sql = sql.Where(x => x.Name == "bbbbb");
那么得到的查询结果就等于:
sql = sql.Where(x => x.Name == "aaaaa" && x.Name == "bbbbb");
有没有关于如何以正确的方式实现它的想法?
Where
谓词只以And
方式组合。如果您想要一个Or
,则必须进行复杂的表达式树展开。请使用PredicateBuilder
。 - Simon Belanger