Запрос Linq по объединенным таблицам в EF - PullRequest
0 голосов
/ 02 августа 2011

привет, можете ли вы помочь мне, как написать запрос Linq (используя Entity Framework) для следующих требований:

У меня есть таблицы:Пользователь (ID, Имя),Контрольный список (ID, имя, идентификатор пользователя (НЕ NULL))Задание (идентификатор, имя, идентификатор пользователя (НЕ NULL))Задача (ID, Имя, JobID (NULLABLE), UserID (NULLABLE), ChecklistID (NULLABLE)),

В таблице задач всегда заполняется только один из внешних ключей (другие имеют значение NULL):

Пример данных задачи:Имя ID JobID ID пользователя ChecklistID1 T1 1 NULL NULL2 T2 NULL 1 NULL3 T3 NULL NULL 1...

Я хочу выбрать все задачи для пользователя на основе следующих правил:1. все задачи, принадлежащие пользователю (идентификатор пользователя заполнен)2. все задачи, связанные с заданием (JobID заполнен) и задание принадлежит пользователю3. все задачи, связанные с контрольным списком (ChecklistID заполнен) и контрольный список принадлежит пользователю4. ID пользователя является входным параметром

Я хочу получить результат в одном запросе Linq.Я новичок в Linq и не знаю, как это сделать правильно.

большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 02 августа 2011

Похоже, это то, что вы пытаетесь получить. Возможно, вам придется добавить в «DataContext». перед именами таблиц.

var stuff = (from t in ScheduledTasks
            where t.UserID == userID            
                || t.CheckLists.UserID == userID
                || t.Jobs.UserID == userID
            select t);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...