Linq to sql LINQ到SQL,子查询结果的聚合

Linq to sql LINQ到SQL,子查询结果的聚合,linq-to-sql,Linq To Sql,假设采用以下简单的表格设计: 主表(Id bigint PK,消息nvarchar(50)) 母版中的样本行 101,“福” 表详细信息(Id bigint PK,主Id bigint FK到主PK,代码nvarchar(5)) 详细的示例行 1001101,“A” 1002101,“B” 1003101,“C” L2S查询的期望输出如下所示- Id、代码、消息 101,“A,B,C”,“Foo” 下面的L2S查询给出了我想要的,但是有更好的方式来表达吗 from m in Master

假设采用以下简单的表格设计:

主表(Id bigint PK,消息nvarchar(50))

母版中的样本行
101,“福”

表详细信息(Id bigint PK,主Id bigint FK到主PK,代码nvarchar(5))

详细的示例行
1001101,“A”
1002101,“B”
1003101,“C”

L2S查询的期望输出如下所示-

Id、代码、消息
101,“A,B,C”,“Foo”

下面的L2S查询给出了我想要的,但是有更好的方式来表达吗

from m in Master
    where m.Id == 101
    select new
    {
       mi.Id,
       Codes = string.Join(",", (from c in Detail 
                                     where c.MasterId == m.Id
                                     select c.Code).ToArray()),
       mi.Message
    }

呼噜声。我也会这么做,除了使用方法语法。对我来说似乎更“自然”