我可以通过Linq-to-Sql中的lambda表达式中的名称(由字符串表示)以某种方式访问属性吗?
说,像
collection.Where(x => Get_Property(x, property_name)==property_value)
实际上,我的问题是使用反射实现Get_Property
的代码,以便使用Linq2Obj而不是Linq2Sql,并且所有工作都是由app而不是sql server执行的。
答案 0 :(得分:0)
不,你不能这样做,因为只有一组方法可以转换成SQL。您的自定义方法或反射API不属于该集合。
您可以使用Entity SQL将查询撰写为字符串。
答案 1 :(得分:0)
试试DynamicLINQ。它从字符串创建lambda表达式,ORM使用这些表达式。