Вычитание в LINQ - PullRequest
       2

Вычитание в LINQ

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

У меня есть две таблицы: «Персонал» с идентификатором, именем, ... столбцами и «Пользователь» с PersonnelID (FK идентификатора столбца в «Персонал»), Имя пользователя, Пароль столбцы

Вопрос в том, как я могу запросить кадровые сущности, чьи их идентификаторы не используются в таблице «Пользователь», я имею в виду сущности из «Персонала» без записи в таблице «Пользователь»?

Сначала я подумал, что создание представления, содержащего каждую сущность "Персонал" с записью в таблице "Пользователь" и вычитание этого представления из всех сущностей Персонал, является решением, но я не знаю, как вычесть два представления в Linq

Я использовал этот запрос для просмотра:

from p in ObjectContext.personnels
join u in ObjectContext.users on p.ID equals u.PersonnelID 
select p;

Это решение? Если да, как я могу вычесть два взгляда?

Или есть лучший способ?

PS !!: Извините за мой плохой английский: D

1 Ответ

3 голосов
/ 20 мая 2011

Вопрос в том, как я могу запросить кадровые объекты, чьи их идентификаторы не используются в таблице "Пользователь"

Ответ:

from p in ObjectContext.personnels
where !ObjectContext.users.Any(u => u.PersonnelID == p.ID)
select p;

Хотя, возможно, вы захотите ограничить столбцы, которые вы тянете:

from p in ObjectContext.personnels
where !ObjectContext.users.Any(u => u.PersonnelID == p.ID)
select new { p.Id, p.Name, etc };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...