У меня возникли проблемы с выполнением нескольких учетных записей в одной таблице в запросе LINQ. Я использую NHibernate, LINQ to NHibernate и C#.Несколько счетчиков для одной таблицы в запросе LINQ
запрос - это заполненный список. У меня есть таблица с булевым именем FullRef. Я хочу сделать запрос LINQ, чтобы дать счетчик событий FullRef = false и FullRef = true для каждого TrackId. TrackId получает новую строку для каждого раза, когда он получает трек. Источник == «UserRef».
В следующем запросе я получаю правильный счетчик чисел (из FullRefTrueCount) FullRef = true, но он дает неизвестный неверный номер на FullRefFalseCount.
var query2 = from track in query
where track.Source == "UserRef"
group track by new { TrackId = track.TrackId, FullRef = track.FullRef } into d
select new FullReferrer
{
Customer = d.Key.TrackId,
FullRefFalseCount = d.Where(x => x.FullRef == false).Count(),
FullRefTrueCount = d.Where(x => x.FullRef == true).Count()
};
Я также попытался изменить его, чтобы он не содержал FullRef в группе. Это было сделано путем удаления FullRef = track.FullRef на подобном этим
var query2 = from track in query
where track.Source == "UserRef"
group track by new { TrackId = track.TrackId } into d
select new FullReferrer
{
Customer = d.Key.TrackId,
FullRefFalseCount = d.Where(x => x.FullRef == false).Count(),
FullRefTrueCount = d.Where(x => x.FullRef == true).Count()
};
Теперь он дает мне общий кол TrackID, игнорируя мой .гд (х => x.FullRef == истины/ложь) заявление ,
У кого-нибудь есть идеи по его устранению? Я думаю, что это проблема «группа». Могу ли я как-то избежать группы? Возможно, мне нужно присоединиться?
Извините, это не сработало для меня. Тогда запрос не дает никаких результатов («Перечисление не дало никаких результатов») – user2107630