var result = from c1 in a1
from c2 in a1.a2
from c3 in a1.a2.a3
select new { c1.id, c2.id, c3.id };
这是编译器从上面的查询表达式生成的代码:
var result = a1.SelectMany(
c1 => a1.a2.SelectMany(
c2 => a1.a2.a3.Select(
c3 => new {c1,c2,c3})));
谢谢
答案 0 :(得分:3)
你是对的。
这是一个完整的外部联接,将包含a1.Count * a2.Count * a3.Count
个项目,包括来自源序列的每个项目组合/