我正在將SQL查詢轉換爲LINQ,該LINQ使用1對1映射創建左連接,並且必須位於方法語法中。我一直在拉我的頭髮,試圖完成這個沒有面紗。我可以在Lambda語法中做到這一點。下面是我試圖運行的示例查詢。他們不是實際的代碼。有人會指出我做錯了什麼嗎?使用方法語法LINQ中的JOIN和LEFT JOIN等效
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();
如果你的代碼實際上不是代碼,我們如何告訴你代碼有什麼問題?我們是否也可以看到「Item」,「item_status」類以及您將匿名類型列表放入的類? –