var query = trafficHandler.portList
.Join(
trafficHandler.timeList,
p => p.PortId,
t => t.PortId,
(p, t) => new { Port = p, Time = t })
.Join(
trafficHandler.trafficList,
pt => pt.Time.TimeId,
tr => tr.TimeId,
(pt, tr) => new { Port = pt.Port, Time = pt.Time, Traffic = tr })
.Select(x => new
{
x.Port.PortNumber,
x.Time.TimeNumber,
x.Time.DayNumber,
x.Traffic.Action,
x.Traffic.User
})
.Where(x => allowedPort.Contains(x.PortNumber) && allowedDay.Contains(x.DayNumber) && allowedTime.Contains(x.TimeNumber) && allowedUser.Contains(x.User) && allowedAction.Contains(x.Action))
.GroupBy(y => new { y.DayNumber, y.TimeNumber, y.User })
.Where(z => z.Count() >= baseline)
.OrderBy(g => g.Key.DayNumber)
.ThenBy(g => g.Key.TimeNumber)
.ThenBy(g => g.Key.User);
как динамически разрешить определенному столбцу возможность группировать по?Как и иногда, мне нужно, чтобы y.Action включалось в предложение Group By, я не хочу переписывать каждый запрос LINQ, который будет избыточной функцией.Прочитайте некоторые другие подобные вопросы, задаваемые о переполнении стека. Кажется, вам понадобится динамическая библиотека LINQ, есть ли другой способ обойти это?