LINQ to Entities中何时使用JOIN,何时不使用?

3

我对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 to entities,应该使用哪一个?如果我要使用Linq to objects,应该使用哪一个?

1个回答

2
作为一个规则,在Entity Framework中,如果您有一个合适的模型并正确设置了外键的导航属性,您几乎永远不需要使用join - 相反,您直接访问您的导航属性,EF将为您生成必要的join SQL代码。我建议查看@Craig Stuntz的博客文章,了解这个问题。 关于Linq-to-objects,它取决于您正在编写的特定查询。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接