Linq to Entities: левое объединение, чтобы получить элементы, не найденные в объединении - PullRequest
0 голосов
/ 26 мая 2009

У меня есть две несвязанные (не определенные FK) таблицы. Первая таблица содержит некоторые задачи, к которым пользователь может не иметь доступа. Мне нужно найти все эти задачи - в этом случае объединенная таблица будет содержать нули. Как мне их получить?

Вот настройки:

TimeData table 
- userID 
- taskID 
- hours


ApprovedTasks table (the one that should contain nulls)
- taskID 
- userID 

SQL-запрос будет выглядеть так:

select * from TimeData td 
left join ApprovedTasks at
 on at.taskID = td.taskID and at.userID = td.userID
where at.taskID is null

Есть ли способ осуществить это с помощью запроса LINQ to Entity?

ТИА

1 Ответ

3 голосов
/ 26 мая 2009

Проверить ... Разъединить объединение в LINQ

Это должно работать ...

var approvedTaks = from at in ApprovedTasks.Except(
                                        from at2 in ApprovedTasks
                                        where at2.userID == userId and at2.taskID==taskId
                                        select at2)
                    where at.userID == userId and at.taskID==taskId
                    select at;

но извините, у вас нет базы данных для проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...