Mam problem ze zrozumieniem, jak używać więcej niż jednego lewego sprzężenia zewnętrznego przy użyciu LINQ to SQL. Rozumiem, jak używać jednego lewego sprzężenia zewnętrznego. Używam VB.NET. Poniżej znajduje się moja składnia SQL.
T-SQL
SELECT
o.OrderNumber,
v.VendorName,
s.StatusName
FROM
Orders o
LEFT OUTER JOIN Vendors v ON
v.Id = o.VendorId
LEFT OUTER JOIN Status s ON
s.Id = o.StatusId
WHERE
o.OrderNumber >= 100000 AND
o.OrderNumber <= 200000
Nie mam dostępu do VisualStudio (jestem na moim Macu), ale korzystam z informacji z http://bhaidar.net/cs/archive/2007/08/01/left-outer-join-in-linq-to -sql.aspx wygląda na to, że możesz zrobić coś takiego:
źródło
Dowiedziałem się, jak używać wielu lewych zewnętrznych sprzężeń w VB.NET za pomocą LINQ to SQL:
źródło
W VB.NET przy użyciu funkcji,
źródło
Myślę, że powinieneś być w stanie zastosować metodę zastosowaną w tym przypadku poście. Wygląda naprawdę brzydko, ale myślę, że możesz to zrobić dwa razy i uzyskać pożądany efekt.
Zastanawiam się, czy jest to rzeczywiście przypadek, w którym lepiej byłoby użyć
DataContext.ExecuteCommand(...)
zamiast konwertować na linq.źródło
Używam tego zapytania linq dla mojej aplikacji. jeśli to pasuje do twoich wymagań, możesz to polecić. tutaj dołączyłem (lewe połączenie zewnętrzne) z 3 tabelami.
źródło