Làm cách nào để dịch truy vấn SQL sau vào truy vấn LINQ có thể so sánh?Cách viết truy vấn SQL "Không Trong" trong LINQ?
select * from Dept
where Id not in (
Select Id
from Employee
where Salary > 100);
Làm cách nào để dịch truy vấn SQL sau vào truy vấn LINQ có thể so sánh?Cách viết truy vấn SQL "Không Trong" trong LINQ?
select * from Dept
where Id not in (
Select Id
from Employee
where Salary > 100);
Hãy thử một cái gì đó như thế này:
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;
Làm thế nào về điều này?
var lowPaidEmps = from d in db.Dept
join e in db.Employees on d.Id equals e.Id
where e.Salary <= 100
select d;
Đó không phải là tương đương về mặt logic. Hãy tưởng tượng một bộ phận không có nhân viên (truy vấn ban đầu trả về nó, truy vấn này không). –
Tôi rất vui khi bạn có được những gì bạn đang tìm kiếm. – Rob
Ngoài ra, LinqPad là một công cụ hữu ích để hỗ trợ bằng văn bản và thử nghiệm LINQ truy vấn – CaffGeek
trong trường hợp này bạn cũng có thể sử dụng phủ định logic: nơi Lương <= 100 –
@ Chad..ya sẽ cố gắng có vẻ hữu ích @ CrazyJugglerDrummer tốt tôi đang cố gắng để làm một cái gì đó khác ít phức tạp hơn ... ya nhưng trong trường hợp này nó sẽ:) ... – Vishal