我在一个查询中需要使用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比较成常数?
答案 0 :(得分:2)
虽然纯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列。
您需要在两个表中的一列上联接。
更多信息: