Tôi đang chuyển đổi một truy vấn SQL thành LINQ tạo ra một phép nối trái với ánh xạ 1-đến-1, và nó phải ở trong Cú pháp Phương thức. Tôi đã được kéo ra khỏi mái tóc của tôi cố gắng để thực hiện điều này để không có tấm màn che. Tôi có thể làm điều đó trong Lambda Cú pháp. Dưới đây là truy vấn mẫu tôi đang cố chạy. Chúng không phải là mã thực. Có ai đó sẽ chỉ ra những gì tôi đang làm sai?JOIN và LEFT JOIN tương đương trong LINQ với phương pháp Cú pháp
SQL:
SELECT item.*, item_status.*
FROM item
LEFT JOIN item_status
ON item.ID = item_status.itemID
AND item_status.FLAGGED = true
WHERE item.published_date > "2008-06-19"
LINQ:
var linq_query = (
from selected_item in item
join selected_item_status in item_status
on selected_item.ID equals item_status.itemID into joined
from item_status in joined.DefaultIfEmpty()
where item_status.FLAGGED = true
select new {selected_item, selected_item_status}).ToList();
Làm cách nào để chúng tôi cho bạn biết mã của bạn có gì sai nếu mã không thực sự mã? Chúng ta cũng có thể thấy lớp 'Item',' item_status', và lớp mà bạn đưa danh sách kiểu ẩn danh vào, xin vui lòng? –