Я пытаюсь написать запрос LINQ, чтобы вернуть список имен пользователей, которые еще не назначены.
Моя таблица Usernames
выглядит так:
Id | Username
1 | user.1
2 | user.2
3 | user.3
Таблица Assignments
содержит только имя пользователя, рядом с некоторыми другими данными:
Username | SomeOtherData
user.1 | foo
user.3 | bar
Запрос LINQ, который я пытаюсь написать, должен вернуть user.2
в приведенном выше примере.
К сожалению, мой запрос возвращает слишком много пользователей, и я не уверен, как настроить выражение LINQ:
from u in Usernames
join a in Assignments on u.Username equals a.Username
where u.Username != a.Username
select u
Добавление метода Distinct () фильтрует набор результатов, но он по-прежнему возвращает имена пользователей, которым назначены:
(from u in Usernames
join a in Assignments on u.Username equals a.Username
where u.Username != a.Username
select new { u }).Distinct()
Как лучше всего настроить эти выражения LINQ, чтобы возвращать только те имена пользователей, которых нет в таблице назначений?