2013-03-19 214 views
0

可以以某種方式在Linq-to-Sql的lambda表達式中通過它的名稱(由字符串表示)訪問屬性嗎?通過名稱獲取屬性

說,像

collection.Where(x => Get_Property(x, property_name)==property_value) 

其實,我的問題出在哪裏Get_Property與反射來實現,這樣Linq2Obj代替LINQ2SQL和所有的工作是由應用程序而不是SQL Server執行代碼。

回答

0

嘗試DynamicLINQ。它從字符串創建lambda表達式,ORM使用這些表達式。

0

不,你不能這樣做,因爲只有一組方法可以轉換成SQL。您的自定義方法或反射API不是該組的一部分。

您可以使用Entity SQL將查詢作爲字符串進行組合。