这两个查询之间有什么区别?他们是完全平等的?
from order in myDB.OrdersSet
from person in myDB.PersonSet
from product in myDB.ProductSet
where order.Persons_Id==person.Id && order.Products_Id==product.Id
select new { order.Id, person.Name, person.SurName, product.Model,UrunAd?=product.Name };
Run Code Online (Sandbox Code Playgroud)
和
from order in myDB.OrdersSet
join person in myDB.PersonSet on order.Persons_Id equals person.Id
join product in myDB.ProductSet on order.Products_Id equals product.Id
select new { order.Id, person.Name, person.SurName, product.Model,UrunAd?=product.Name };
Run Code Online (Sandbox Code Playgroud)
最终结果应该是相同的.
但使用JOIN更清楚 - 你正在做的事情更明显(加入三组数据).
我个人的"最佳实践"方法是:
用于WHERE减少和限制返回的行数 - 它通常限制一组数据(通过定义要满足的一些条件)
用于JOIN表示在一个公共字段(或一组字段)上将两个表/数据集连接在一起的意图
| 归档时间: |
|
| 查看次数: |
394 次 |
| 最近记录: |