我有一个LINQ声明我试图做对,所以也许这样做是错的。我的目标是查询表并加入另一个表来获取计数。
地方
ID,显示
ProfilePlaces
ID,PlaceID,Talk,Hear
基本上Places
在一对多关系中有ProfilePlaces
。我想获得SUM
和ProfilePlaces
Talk
的{{1}}个数字。 Hear
和Talk
是Hear
个字段。
以下为我提供了bit
的唯一列表,因此我需要添加Places
和Talk
次。
Hear
我认为这样的事情,但没有运气
var counts = from p in db.Places
join pp in db.ProfilePlaces on p.ID equals pp.PlaceID
group new { Place = p } by p.Display;
感谢您的帮助。
答案 0 :(得分:10)
您想要进行GROUP JOIN以获取每个Place
的计数。
var counts2 = from p in places
join pp in profilePlaces on p.ID equals pp.PlaceID into g
select new
{
Place = p,
CountMeet = g.Count(a => a.Meet),
CountTalk = g.Count(a => a.Talk)
};
以下是MSDN不同联接的文档:
http://msdn.microsoft.com/en-us/library/bb311040.aspx