我有一个使用三个表的查询:Orders
/ ItemsByCustomers
/ Customers
,如下所示:
dim res = from o in Orders
where o.ItemsByCustomers.Customers.custCity = "Atlanta"
select ...
显然,LINQ正在为orders
表中的每一行查询一次数据库。
有没有办法在LINQ中更好地执行相同的查询而不使用带连接的显式SQL命令?
答案 0 :(得分:1)
对于linq到sql,应该是这样的:
Dim result = From a In dbCtx.Orders
Join b In dbCtx.ItemsByCustomers On b.ItemId Equals a.ItemId
Join c In dbCtx.Customers On c.CusomterId Equals b.CusomterId
Where c.custCity = "Atlanta"
Select a