可以以某種方式在Linq-to-Sql的lambda表達式中通過它的名稱(由字符串表示)訪問屬性嗎?通過名稱獲取屬性
說,像
collection.Where(x => Get_Property(x, property_name)==property_value)
其實,我的問題出在哪裏Get_Property
與反射來實現,這樣Linq2Obj代替LINQ2SQL和所有的工作是由應用程序而不是SQL Server執行代碼。
可以以某種方式在Linq-to-Sql的lambda表達式中通過它的名稱(由字符串表示)訪問屬性嗎?通過名稱獲取屬性
說,像
collection.Where(x => Get_Property(x, property_name)==property_value)
其實,我的問題出在哪裏Get_Property
與反射來實現,這樣Linq2Obj代替LINQ2SQL和所有的工作是由應用程序而不是SQL Server執行代碼。
嘗試DynamicLINQ。它從字符串創建lambda表達式,ORM使用這些表達式。
不,你不能這樣做,因爲只有一組方法可以轉換成SQL。您的自定義方法或反射API不是該組的一部分。
您可以使用Entity SQL將查詢作爲字符串進行組合。