在where中使用多个子句

时间:2017-08-17 01:02:37

标签: c# linq

在ORQ的LINQ调用中包含多个wheres的正确方法是什么?

List<Pos> posList = DbContext.PosList
                             .Where<Pos>(p => p.Pos == "51000785" || 
                                         p => p.Pos == "123")
                             .ToList<Pos>();

1 个答案:

答案 0 :(得分:10)

Linq where子句接受一个表达式并返回一个bool值。你的两个表达式都有自己的返回值。您需要将这两个组合成一个lambda表达式,该表达式返回一个值,而不是示例中的两个独立值。

List<Pos> posList = DbContext.PosList
         .Where<Pos>(p => p.Pos == "51000785" || p.Pos == "123")
         .ToList<Pos>();