2010-10-28 112 views
2

我有一個示例表汽車過濾通過criteriums在LINQ查詢

table cars(
producer varchar(30), 
model varchar(30), 
price integer, 
start datetime, 
end datetime) 

,我需要返回使用準則(基於一個標準,兩個或全部)從表中的數據。有沒有什麼辦法來動態創建linq問題(只有一個linq查詢,而不是爲所有組合創建不同的linq查詢)?我可以使用一些默認值和搜索始終購買所有,但是當我需要搜索一個或沒有搜索時,會降低我的性能。

+4

僅有FWIW,單數是「標準」和複數爲「標準」。 「標準」是一種類型的自行車比賽(在相對較短的路線上有多圈)。 – 2010-10-28 20:03:19

+1

@Jerry Coffin你現在可以幫忙嗎? – Rebecca 2010-10-28 20:10:37

+0

也許你可以舉一個例子來說明你想要什麼樣的查詢以及應該返回哪些數據? – gideon 2010-10-28 20:13:32

回答

0

簡短的回答是肯定的。

您可以從Dynamic LINQ Where Extension開始啓動並運行,但它需要一些增強功能來處理日期時間。

我使用上面結合一個循環來處理多個條件:

var q = from c in db.Cars select c; 

filters.ForEach (filter => 
{ 
    q = q.Where (filter.Field, filter.Value, filter.Comparison); 
}); 
+0

謝謝Bender,我會試試這個! – Rebecca 2010-10-28 21:04:23