c# - LINQ 中的动态 WHERE 子句

标签 c# linq dynamic where-clause

将动态 WHERE 子句组装到 LINQ 语句的最佳方法是什么?

我在表单上有几十个复选框,并将它们作为:Dictionary> (Dictionary>) 传回我的 LINQ 查询。

public IOrderedQueryable<ProductDetail> GetProductList(string productGroupName, string productTypeName, Dictionary<string,List<string>> filterDictionary)
{
    var q = from c in db.ProductDetail
            where c.ProductGroupName == productGroupName && c.ProductTypeName == productTypeName
            // insert dynamic filter here
            orderby c.ProductTypeName
            select c;
    return q;
}

最佳答案

alt text
(来源:scottgu.com)

您需要这样的东西吗?使用 the Linq Dynamic Query Library (下载包括示例)。

查看 ScottGu's blog更多示例。

关于c# - LINQ 中的动态 WHERE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/848415/

相关文章:

c# - 解析 Linq.Expressions.NewExpression?

jquery - 如何使用.load和.fadeIn更改DIV内容?

javascript - 通过动态更改内容让 IE 尊重您的空白

c# - 如何在字典的第一个索引中插入元素?

c# - 在撰写评论时在用户之间建立关系

c# - 如何验证(特定国家/地区)电话号码

c# - IQueryable 扩展方法的语法是否流畅?

c# - CSV行拆分成字符串数组问题

c# - 如何使用 LINQ 添加两条记录?

java - 动态绑定(bind)Java