У меня есть запрос, в котором мне нужно использовать Join / On, но при этом я получаю это сообщение об ошибке: Вы должны ссылаться хотя бы на одну переменную диапазона по обе стороны от оператора «Равно».
Вот мой упрощенный запрос:
Dim Result As String = (From cust In Model.Customer
Join comp In Model.Company On cust.Id_Customer Equals 1
Select cust.Name, comp.Name)
Есть ли способ выполнить сравнение переменной диапазона Equals с константой?
Я думаю, что это тривиально, когда дело доходит до реальной проблемы сравнения переменной диапазона с константой? Этот запрос представляет собой всего лишь быстрый макет, в котором важна только 3-я строка (Присоединиться / Вкл).


В то время как чистый SQL JOINS допускает условие соединения, которое может не ссылаться ни на одну из таблиц, подлежащих объединению, LINQ Join требует условия соединения, которое ссылается на обе таблицы. Условие для On требует сравнения столбцов из обеих таблиц для объединения. Например, допустимый запрос:
Dim Result As String = (From cust In Model.Customer
Join comp In Model.Company On cust.Id_FavoriteCompany Equals comp.Id_Company
Where cust.Id_Customer = 1
Select cust.Name, comp.Name)
Если бы у вас были столбцы Customer.Id_FavoriteCompany и Company.Id_Company.
Вам нужно объединить столбец в обеих таблицах.
Больше информации:
Разве вы не хотите присоединить клиента к компании?