如果「屬性」大於0,則我的LINQ查詢返回值,否則它不起作用,並且不會出錯。 我想第三行中的& &需要另一個語句,如果「屬性」不大於0,則不會得到它。我怎樣才能克服這一點?LINQ與if語句
編輯:我先寫的代碼是做abatishchev的回答說的。我試圖做一個速記,如果沒有別的聲明,但我已經讀過關於那個錯誤,所以代碼是爲了做別的事情,然後它真的做到了。感謝您對這件事的啓發,但我仍然不知道如何實現我對linq的最初願望,所以我已經將代碼重新排列到了更接近我目標的地方。
int attribute = 0;
var query = from x in db.Table1
where x.ValueId == 1
if(attribute > 0)
x.Table2.Attribute == attribute
select x;
如果屬性大於0,那麼我不想爲查詢添加額外的where子句。
謝謝你的幫助。
如果屬性爲0,則它應返回一個空的枚舉。你還會期待什麼? – juharr
如果屬性<= 0,您希望發生什麼? 當屬性爲0時,您不會得到任何結果是正常的,因爲where子句中的條件集計算結果爲false。 – siger
如果屬性<= 0,那麼我不想在我的查詢額外的where子句。帶有<= 0的查詢應該看起來像這樣:從db.Table1中的x開始,其中x.ValueId == 1選擇x; – ifsession