像這樣的事情會嚴重影響性能嗎?多個LinqToSQL查詢和性能
var myQuery = from c in Customers select c;
var filter1 = from c in myQuery where c.ID > 2 select c;
myQuery = filter1;
var filter2 = from c in myQuery where c.Name.Contains("r") select c;
myQuery = filter2;
當我這樣做時,似乎只做最後的實際查詢,而不是每個「var ...」。到目前爲止,所有的過濾器似乎只是構造一個查詢,所以看起來好像沒什麼不同,並且在1個查詢中放置所有過濾器沒有太大的性能差異。我錯了,它實際上對數據庫運行多個查詢?
我想找出一個很好的方法來創建基於用戶的輸入查詢,以便他們可以過濾不同的標準。只要這樣做不會花費大量時間,我並不太擔心表現。
我也發現了有關Dynamic Linq庫的文章,但是使用它看起來很笨重,我沒有看到用這種方式做這件事的很多不同。
他能通過迭代filter1和filter 2得到結果嗎?我認爲它會失敗,你只能循環結果一次消息... – 2009-01-26 20:05:46
我還沒有嘗試過,但我希望它能正常工作 - 過濾器是查詢,而不是結果查詢。 – 2009-01-26 20:13:06