我想設計一個LINQ查詢,在特定位置進行過濾。在我的用戶界面下拉列表中,該下拉列表中的第一個條目爲「所有網站」。因此,當查詢將「所有網站」視爲值時,它不應執行過濾器。這可能沒有多大意義,但這是我如何用SQL來做到這一點..C#lambda語句與快速測試
select * from table
where ((location = @loc and @loc is not null) or (@loc is null))
這是我如何試圖在LINQ中做到這一點。
var dataSetB = db.Data
.Where(j => loc != 'All Sites' && j.Location1.Description.Equals(loc));
的問題是,當用戶選擇「所有網站」 - 沒有結果的時候,我會期待不受位置篩選所有的返回結果。
有誰知道如何在一個LINQ語句中完成此操作?
例如下拉..
<All Sites>
<Sydney>
<New York>
<London>
爲什麼你不想要嗎? – Likurg 2012-04-17 09:38:04
我假設查詢縮短了,並且有更多的語句。如果你不想保持重複查詢,他的方法是有效的,恕我直言。 – Till 2012-04-17 09:49:37