Konwertuję zapytanie SQL do LINQ, które tworzy lewe sprzężenie z mapowaniem 1 do 1, i musi być w składni Metody. Odgarniałem włosy, próbując to osiągnąć bez żadnej zasłony. Mogę to zrobić w składni Lambda. Poniżej znajduje się przykładowe zapytanie, które próbuję uruchomić. Nie są to rzeczywisty kod. Czy ktoś wskazałby, co robię źle?Odpowiednik JOIN i LEFT JOIN w LINQ ze składnią metody
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();
Jak możemy powiedzieć, co jest nie tak z twoim kodem, jeśli nie jest to kod? Czy możemy również zobaczyć klasę "Przedmiot", "item_status" i klasę, w którą wpisujesz listę typu anonimowego? –