可以以某种方式在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将查询作为字符串进行组合。