2014-04-04 42 views
-1

您好我有以下我有我的where子句問題LINQ聲明檢查和OR條件檢查之間的兩個

var list=(from c in db.sales 
      where c.id ==id && || c.name==name 
      select new model 
      { 
       //..... 

       }); 

基本上我可以得到id和name值或者其中任何一個都可以爲null。所以我想用AND OR的where子句表示這兩個條件都可以是正確的,或者是任意一個。

有了這個語法,我得到intelliscence錯誤。請讓我知道如何使用AND OR檢查where子句。

+0

「智力錯誤」是什麼意思? –

+0

最有可能是intellisense錯誤。 – Alex

回答

1

兩個條件可能是正確的或任何一個

你只需要或並不需要和

var list=(from c in db.sales 
    where c.id ==id || c.name==name 
    select new model 
    { 
      //..... 

    }); 

The || (or Operator)

的條件或運算符(||)執行其bool 0123的邏輯或操作數。如果第一個操作數的計算結果爲真,則不計算第二個操作數 。如果第一個操作數的計算結果爲false,則第二個運算符將確定OR表達式是否爲 true或false,MSDN

+1

適用於MSDN語言參考 – Askolein

0

這聽起來像你想要的只是一個普通的OR:

where c.id == id || c.name == name 

這將評估爲true,如果c.id == id是真的,如果c.name == name是真實的,或者兩者都是真實的。

0

我想你的意思是智能感知錯誤。這很明顯,因爲&& ||不是有效的C#語法。

從你所描述的,我認爲你只需要OR操作。

嘗試將&& ||更改爲||