DBSet和动态sql表达式

时间:2012-03-07 11:21:43

标签: linq asp.net-mvc-3 entity-framework

所以我有Products类代表products表。 为了得到我所做的所有记录:

db.Products.ToList()

我有一个这样的字符串:

String queryString = "mp=5 AND optic=TRUE AND price=500";

我的问题是如何使用此字符串过滤产品?其中func只接受lambda表达式..

由于

2 个答案:

答案 0 :(得分:1)

我不确定它是否仍然受支持,但您可以使用Dynamic LINQ来根据需要添加“基于文本”的表达式。参见:

您可能还想考虑使用Predicate构建器以更具声明性的方式执行相同的工作。那里有一些,但我用得非常成功的一个是albahari:

希望这会有所帮助..

答案 1 :(得分:0)

您可以对DbSet执行Raw SQL并返回强类型列表。有关详细信息,请参阅EF团队的this blog post