0

这两个查询有什么区别?他们完全平等?

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 };
4

2 回答 2

5

最终结果应该是一样的。

但是使用JOIN更清晰 - 你在做什么更明显(加入三组数据)。

我个人的“最佳实践”方法是:

  • 用于WHERE减少和限制返回的行数 - 它通常限制一组数据(通过定义要满足的一些标准)

  • 用于JOIN表达在一个公共字段(或一组字段)上将两个表/数据集连接在一起的意图

于 2010-06-10T09:10:44.287 回答
1

联接显示表之间的关系更清晰,击键次数也更少。

于 2010-06-10T09:18:57.660 回答