嵌套GroupBy()
然后在SQL中允许展平吗?或通过ling-to-sql或实体框架提供?目前,我需要在查询中间执行检索以使其工作:
var query = (
from s in Prices
group s by new { s.P1, s.P2 } into FirstGroups
select FirstGroups
)
.ToList() // without it, exception is thrown
.SelectMany(g1 =>
g1.GroupBy(i => i.P3).OrderBy(i => i.Key).Take(2)
.SelectMany((g2, index) => g.Select(j => new
{
P1 = g1.Key.P1,
P2 = g1.Key.P2,
Index = index,
P3 = g2.P3,
P4 = j.P4,
}));
});
Single SelectMany有效。嵌套表示这种方式在linq-to-sql中不起作用。我的问题是l2s支持它吗?如果是,如何编写查询。如果没有,是否有任何其他linq to db技术支持它,例如,新的实体框架?
答案 0 :(得分:0)
对结果进行分组然后展平与仅对该值进行排序相同。