2017-08-17 72 views
-1

什麼是包括在LINQ調用多個何在OR使用多個條款在

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

你可以僅僅刪除第二個'P =>' - 它已經被定義 –

+0

做一個簡單的谷歌搜索'使用兩個條件LINQ其中clause'帶來了[這](https://stackoverflow.com/q/7289565/465053),[this](https://stackoverflow.com/q/10333732/465053),[this](https://stackoverflow.com/q/11314203/465053)和[this]( https://stackoverflow.com/q/8755176/465053)SO鏈接。所有將有助於你得到答案。 – RBT

回答

9

LINQ的where子句接受一個表達式,並返回一個布爾值的正確方法。你的兩個表達式都有自己的返回值。你需要把這兩個結合成一個lambda表達式,返回一個值,而不是你的例子中的兩個單獨的值。

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

很好的編輯。希望誰低估你會回來並將其刪除。 – DeanOC

+0

喬利好老的小夥子! – John

+0

@DeanOC我現在已經降級並刪除了。好答案 –