如何在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);
}
在对 query
进行分组之前,您应该尽可能准备好常见逻辑。由于 LINQ 使用延迟执行,因此您可以在枚举结果之前尽可能修改 query
,而不会产生性能损失。
query
包含任何联接、过滤和排序操作。 - Yuck
SELECT * FROM <TableName> GROUP BY <Column1>,<Column2>
的操作吗? - Rahul