何时使用JOIN以及何时不使用LINQ实体

时间:2011-05-02 16:01:25

标签: linq linq-to-entities linq-to-objects

我是Linq的新手,我看到如果有多个实体,有些使用多个FROM语法,如下所示:

from h in db.Hubs   
from ch in h.CityHubs where ch.Cities.CityID == 1 
select

有些人使用明确的连接语法。

from h in db.Hubs
join ch in da.CityHubs on h.CityId equals ch.CityId
select

如果我使用Linq实体,我应该使用哪一个?如果我将Linq用于对象,我应该使用哪一个?

1 个答案:

答案 0 :(得分:2)

通常,在Entity Framework中,如果您有一个合适的模型并正确设置外键的导航属性,您几乎不应该使用join - 而是直接访问您的导航属性,而EF将生成SQL代码中必需的join。我建议您查看@Craig Stuntz的blogpost有关此问题的信息。 但是,关于Linq-to-objects,它取决于您正在编写的特定查询。