У меня возникли проблемы с выяснением, как использовать более одного левого внешнего соединения с использованием LINQ to SQL. Я понимаю, как использовать одно левое внешнее соединение. Я использую VB.NET. Ниже мой синтаксис 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
У меня нет доступа к VisualStudio (я на моем Mac), но использую информацию с http://bhaidar.net/cs/archive/2007/08/01/left-outer-join-in-linq-to -sql.aspx похоже, что вы можете сделать что-то вроде этого:
источник
Я понял, как использовать несколько левых внешних объединений в VB.NET, используя LINQ to SQL:
источник
В VB.NET используя функцию,
источник
Я думаю, что вы должны быть в состоянии следовать методу, используемому в этом посте. Это выглядит ужасно, но я думаю, вы могли бы сделать это дважды и получить желаемый результат.
Интересно, действительно ли это тот случай, когда вам лучше использовать
DataContext.ExecuteCommand(...)
вместо преобразования в linq.источник
Я использую этот запрос linq для моего приложения. если это соответствует вашим требованиям, вы можете отослать это. здесь я присоединился (левое внешнее соединение) с 3 таблицами.
источник