这两个查询之间有什么区别?他们是完全平等的?
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 };
和
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 };
答案 0 :(得分:5)
最终结果应该是相同的。
但使用JOIN
更清楚 - 你正在做的事情更明显(加入三组数据)。
我个人的“最佳实践”方法是:
使用WHERE
来减少和限制返回的行数 - 它通常限制一组数据(通过定义一些要满足的标准)
使用JOIN
来表达在一个公共字段(或一组字段)上将两个表/数据集连接在一起的意图
答案 1 :(得分:1)
Join显示表清除之间的关系以及更少的击键。