У нас есть две таблицы - Tasks и TasksUsers (пользователи, назначенные для задачи). Задача имеет коллекцию EntityCollection, которая называется TaskUsers.
Этот запрос возвращает количество задач на имя пользователя:
model.TaskCountByAssignee =
(
from t in TaskRepository.List()
from tu in t.TaskUsers
group tu by tu into tug
select new {Count = tug.Count(), UserName = tug.Key.Username}).ToList()
Этот запрос возвращает:
Администратор 11
LukLed 5
Я хочу, чтобы он вернулся:
Администратор 11
LukLed 5
ноль 10
У некоторых задач нет назначений, но я все еще хочу их в своем наборе результатов. Обычно в SQL это достигается изменением join
на left join
. В Linq, вне EF, я мог бы использовать DefaultIfEmpty (). Как это можно сделать в linq для сущностей?