繁体   English   中英

Linq to Entities是否支持嵌套SelectMany?

[英]Is nested SelectMany supported in Linq to Entities?

然后在SQL中允许嵌套GroupBy()展平吗? 或通过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,
        }));
});

单个SelectMany可以工作。 嵌套表示以这种方式在linq-to-sql中不起作用。 我的问题是l2s是否完全支持它? 如果是,如何编写查询。 如果不是,是否有其他linq to db技术支持它,例如新的实体框架?

分组然后展平结果与简单地按该值排序相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM