LINQ, Left Join, Only Получить нулевое значение в таблице соединений - PullRequest
3 голосов
/ 20 мая 2010

Я пытаюсь выполнить левое внешнее объединение для двух таблиц, но я хочу вернуть результаты только из первой таблицы, где во второй таблице нет записи (пусто).

 var agencies = from a in agencyList
                           join aa in joinTable
                           on a.AgencyId equals aa.AgencyId into joined
                           from aa in joined.DefaultIfEmpty()
                           where aa == null)
                           select a;

Но это не исключает ненулевые значения aa и возвращает все записи точно так же, как если бы 'where aa == null' не было.

Любая помощь приветствуется. Спасибо.

1 Ответ

1 голос
/ 20 мая 2010

А как же:

var agencies = from a in agencyList
                           where (from aa in joinTable where aa.AgencyId == a.AgencyId select aa).Count() == 0
                           select a;
...