【发布时间】:2011-05-03 14:42:51
【问题描述】:
我想接受来自客户端的 where 条件的字符串数组,例如 field == value。
在构造函数中创建一个可以接受字符串并输出 lambda 表达式来表示 Where 子句的规范对象会非常好。例如,我可以执行以下操作:
var myCondition = new Specification<Product>( myStringArrayOfConditions);
var myProducts = DB.Products.Where( myCondition);
你怎么能把"name == Jujyfruits"变成DB.Products.Where(p => p.name == "JujyFruits")?
【问题讨论】:
-
为什么不能将 lambda 传递给方法,所以不要传递字符串 .Where("name == Jujyfruits") 而是传递 .Where(x => x.name == “Jujyfruits”)?我真的不知道你想做什么。
-
如果“规范”(where子句)来自客户端,则为字符串形式。我需要将其转换为 EF 可以理解的内容,通常是 lambda 表达式。
标签: c# c#-4.0 entity-framework-4