Linq DBSet和动态sql表达式

Linq DBSet和动态sql表达式,linq,asp.net-mvc-3,entity-framework,Linq,Asp.net Mvc 3,Entity Framework,所以我有一个Products类,它表示Products表。 要获取我所做的所有记录,请执行以下操作: db.Products.ToList() 我有这样一个字符串: String queryString = "mp=5 AND optic=TRUE AND price=500"; 我的问题是如何使用此字符串筛选产品?其中func仅接受lambda表达式 谢谢我不确定它是否仍然受支持,但您可以使用动态LINQ,根据需要添加基于“文本”的表达式。见: 您可能还想考虑使用谓词生成器以更声明

所以我有一个Products类,它表示Products表。 要获取我所做的所有记录,请执行以下操作:

db.Products.ToList()
我有这样一个字符串:

String queryString = "mp=5 AND optic=TRUE AND price=500";
我的问题是如何使用此字符串筛选产品?其中func仅接受lambda表达式


谢谢

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

您可能还想考虑使用谓词生成器以更声明的方式完成相同的工作。这里有一些,但有一个我用得非常成功的是albahari one:


希望这对您有所帮助。

您可以对数据库集执行原始SQL并返回强类型列表。有关详细信息,请参阅EF团队提供的。

我刚刚看到了.SqlQuery(“string”,object[])-它怎么样?从未使用过它,因为我倾向于专门使用lambdas。但是,找到了可能有帮助的:。另请看:这不是我会选择使用的风格,请注意!