Привет, я запутался, пытаясь построить группу по набору результатов в LINQ.
. Следующий TSQL получает то, что я хочу в LINQ, выражение:
select s.SiteDescription,count(*) as TotalIncidents
from Site as s,Incident as i
where s.SiteId = i.SiteId
group by s.SiteDescription
Но я хочу создать то же самое в LINQ в своем коде контроллера, вот что у меня есть, но это бесполезно, и я сегодня повсюду:
var qry = from s in _db.Sites
join i in _db.Incidents on s.SiteId equals i.SiteId
group s.SiteDescription
into grp
select new
{
Site = grp.Key,
Count = grp.Select(x => x.Incidents).Distinct().Count()
};
Мои ошибки:
Ошибка 27
Невозможно преобразовать лямбда-выражение в тип
'System.Collections.Generic.IEqualityComparer', так как это не тип делегата C: \ Documents and Settings \ Администратор \ Рабочий стол \ IRenewables_EMAS \ IRenewables_EMAS\ Controllers \ IncidentController.cs 40 23 Emas.Web
Ошибка 28
Аргументы типа для метода 'System.Linq.Enumerable.OrderBy (System.Collections.Generic.IEnumerable, System.Func)' не могут быть выведены изИспользование.Попробуйте указать аргументы типа явно.C: \ Documents and Settings \ Администратор \ Рабочий стол \ IRenewables_EMAS \ IRenewables_EMAS \ Controllers \ IncidentController.cs 51 33 Emas.Web
Ошибка 29
Ожидаемое контекстное ключевое слово "от" C: \ Documents and Settings \ Администратор \ Рабочий стол \ \IRenewables_EMAS \ IRenewables_EMAS \ Controllers \ IncidentController.cs 41 27 Emas.Web
Заранее спасибо,