2010-05-13 20 views
8

Aşağıdaki SQL sorgusunu karşılaştırılabilir bir LINQ sorgusuna nasıl çeviririm? BöyleLINQ'ta "In In" SQL sorgusu nasıl yazılır?

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

Ayrıca LINQPad yazılı yardımcı olmak için kullanışlı bir araçtır ve Linq test ayrıca mantıksal değil kullanabilirsiniz bu durumda – CaffGeek

+0

sorgular: Maaş <= 100 Chad..ya @ –

+0

çalışacağız yararlı görünüyor @ CrazyJugglerDrummer iyi biraz daha karmaşık bir şey yapmaya çalışıyorum ... ya da bu durumda:) ... – Vishal

cevap

15

deneyin şey: Bu nasıl hakkında

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

?

var lowPaidEmps = from d in db.Dept 
        join e in db.Employees on d.Id equals e.Id 
        where e.Salary <= 100 
        select d; 
+2

Bu mantıksal olarak eşdeğer değil. Çalışan olmayan bir departman düşünün (orijinal sorgu geri döndürür, bu sorgulama yapmaz). –

+0

Aradığınızı aldığınıza sevindim. – Rob