假设以下简单的表格设计:
表主(Id bigint PK,消息nvarchar(50))
Master中的示例行 101,“Foo”
表详情(Id bigint PK,MasterId bigint FK to Master PK,Code nvarchar(5))
详细信息中的示例行
1001,101,“A”
1002,101,“B”
1003,101,“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
}
答案 0 :(得分:1)
Purrrrfect。除了使用方法语法之外,我会这样做。对我来说似乎更“自然”。