我有一个艺术家表和一个风格表。
艺术家表: ID 姓名 样式ID
样式表 ID 名称
艺术家有一个风格 ID
我正在尝试返回一个风格摘要,其中包括风格 ID、风格名称和属于该风格的艺术家数量。
我有以下语句,它可以获取艺术家的 ID 和数量,但我不知道如何获取样式名称。
return from s in DBContext.Styles
join artist in DBContext.Artists on s.ID equals artist.StyleID
group artist by artist.StyleID into a
select new DTO.StyleSummary
{
ID = a.Key,
NumberOfArtists = a.Count()
};
这可以通过单次往返实现吗?
最佳答案
您可以使用匿名类型按多个值进行分组:
return from s in DBContext.Styles
join artist in DBContext.Artists on s.ID equals artist.StyleID
group artist by new {s.ID, s.Name } into a
select new DTO.StyleSummary {
ID = a.Key.ID,
Name = a.Key.Name,
NumberOfArtists = a.Count()
};
关于linq-to-sql - 使用 LinqToSQL 进行分组和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1054624/