在SQL中,可以將複合where子句作爲字符串傳遞,就像某些日期計算一樣,即使在運行時也是如此。例如,讓一個(poweruser)用戶定義可以包含自定義預定義函數(如日期函數)的where子句。複雜(自定義方法調用)在C#中運行時動態過濾?
如何在過濾數據表時在純C#中執行相同的操作?
在SQL中,可以將複合where子句作爲字符串傳遞,就像某些日期計算一樣,即使在運行時也是如此。例如,讓一個(poweruser)用戶定義可以包含自定義預定義函數(如日期函數)的where子句。複雜(自定義方法調用)在C#中運行時動態過濾?
如何在過濾數據表時在純C#中執行相同的操作?
如果您使用的是LINQ,則可以使用此動態實現來創建LINQ類字符串之外的表達式樹。
最簡單的方法是使用Linq查詢您的DataTable。
如果你不想或不能使用Linq,那麼你可以使用DataView和RowFilter。
dataView.RowFilter="LastName = 'Smith'";
或:你可以像類的東西
dataView.RowFilter="Isnull(Col1,'Null Column') = 'Null Column'"
的DataView文件包括如何將其連接到一個DataTable的例子。
表達式語法是here。定義了很多東西,但是看起來不幸的是DateTimes沒有太多的東西。
嗨問題是包含在表達式語法的功能限於微軟允許的。我想使用CUSTOM功能。 但謝謝你的回答。 – programmernovice 2009-12-03 17:09:27
嗨,似乎我所需要的 「在未來的博客文章中,我將深入探討構建動態LINQ查詢」 但它似乎沒有第二部分:) – programmernovice 2009-12-03 17:12:05