慢SQL Server linq查询

时间:2013-09-05 06:44:08

标签: sql-server vb.net performance linq

我有一个使用三个表的查询:Orders / ItemsByCustomers / Customers,如下所示:

dim res = from o in Orders 
          where o.ItemsByCustomers.Customers.custCity = "Atlanta"
          select ...

显然,LINQ正在为orders表中的每一行查询一次数据库。

有没有办法在LINQ中更好地执行相同的查询而不使用带连接的显式SQL命令?

1 个答案:

答案 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