Я хочу получить список подсчетов для некоторых из моих данных (подсчитать количество открытых и закрытых задач и т. Д.), Я хочу получить все подсчеты внутри 1 запроса , поэтому я не уверен, что я делаюс моим оператором linq ниже ...
_ user - это объект, который возвращает информацию о текущем зарегистрированном пользователе
_ repo is am objectкоторый возвращает IQueryable из любой таблицы, которую я хочу выбрать
var counters = (from task in _repo.All<InstructionTask>()
where task.AssignedToCompanyID == _user.CompanyID || task.CompanyID == _user.CompanyID
join instructions in _repo.GetAllMyInstructions(_user) on task.InstructionID equals
instructions.InstructionID
group new {task, instructions}
by new
{
task
}
into g
select new
{
TotalEveryone = g.Count(),
TotalMine = g.Count(),
TotalOpen = g.Count(x => x.task.IsOpen),
TotalClosed = g.Count(c => !c.task.IsOpen)
}).SingleOrDefault();
Преобразовать ли мой объект в одиночный или по умолчанию?Исключение, которое я получаю, это эта последовательность содержит более одного элемента
Примечание: я хочу общая статистика , не для каждой задачи, но для всех заданий - не знаете, как это получить?