微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – Linq – SQL将参数传递给GroupBy()

使用 linq查询,如何将参数传递给groupby函数?取决于用户选择,它将以不同方式分组

var query = (from to in OrderQuery
                     group to by to.FromDateUtc into groupedDate
                     let grouped = groupedDate.GroupBy(o => o.Name)

我想传递不同的groupby值.任何的想法?

干杯

解决方法

一般来说,您需要不同的查询.根据用户选择构建不同的WHERE或Where(…)子句也是如此:

var query = OrderQuery;
if (userSelection == "GroupByName") {
    query = from to in query
            group to by to.FromDateUtc into groupedDate
            let grouped = groupedDate.GroupBy(o => o.Name);
}
else if (userSelection == "GroupBySomethingElse") {
    query = from to in query
            group to by to.FromDateUtc into groupedDate
            let grouped = groupedDate.GroupBy(o => o.somethingElse);
}

在将分组应用于查询之前,您需要准备尽可能多的通用逻辑.因为LINQ使用延迟执行,所以您可以在枚举结果之前根据需要修改查询,并且不会产生性能损失.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐