Я полагаю, что это сделает это:
var query = from s in ScanLogs
from e in Exhibits
where s.ExhibitID == e.ExhibitID
group 1 by new { s.ContactID, e.EventID } into g
select new { g.Key.ContactID, g.Key.EventID, Count = g.Count() };
Не важно, что сгруппировано (1
в данном случае), вы просто подсчитываете, сколько их.
Я, вероятно, использовал бы соединение однако.Это должно быть эквивалентно.
var query = from s in ScanLogs
join e in Exhibits on s.ExhibitID equals e.ExhibitID
group 1 by new { s.ContactID, e.EventID } into g
select new { g.Key.ContactID, g.Key.EventID, Count = g.Count() };