Как написать SQL-запрос "Not In" в LINQ? - PullRequest
8 голосов
/ 14 мая 2010

Как бы я перевел следующий запрос SQL в сопоставимый запрос LINQ?

select * from Dept 
where Id not in (
    Select Id 
    from Employee 
    where Salary > 100);

Ответы [ 2 ]

15 голосов
/ 14 мая 2010

Попробуйте что-то вроде этого:

var result = from d in Dept
             let expensiveEmployeeIds = (from e in Employee.Employees
                                       where e.Salary > 100
                                       select e.Id)
             where !expensiveEmployeeIds.Contains(d.Id)
             select d;
0 голосов
/ 14 мая 2010

Как насчет этого?

var lowPaidEmps = from d in db.Dept 
                  join e in db.Employees on d.Id equals e.Id 
                  where e.Salary <= 100
                  select d;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...