嵌套的SelectMany是否支持Linq to Entities?

时间:2015-01-08 17:27:07

标签: c# linq entity-framework linq-to-sql

嵌套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技术支持它,例如,新的实体框架?

1 个答案:

答案 0 :(得分:0)

对结果进行分组然后展平与仅对该值进行排序相同。

相关问题