在 LINQ to 实体中何时使用 JOIN 以及何时不使用

发布于 2024-11-04 06:13:29 字数 353 浏览 1 评论 0原文

我是 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 toEntity,我应该使用哪一个?如果我要使用 Linq to object,我应该使用哪一个?

I am new to Linq and I have seen that if there are multiple entities, some use the multiple FROM syntax like this:

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

and some use the explicity join syntax.

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

If I am using Linq to entities, which one should I use? If I were to use Linq to objects, which one should I use?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

☆獨立☆ 2024-11-11 06:13:29

通常,在实体框架中,如果您有正确的模型并正确设置了外键的导航属性,则几乎不应该使用 join - 相反,您直接访问导航属性,EF 将生成SQL 代码中必要的join。我建议您查看 @Craig Stuntz 关于此问题的博客文章
然而,关于 Linq-to-objects,它取决于您正在编写的特定查询。

As a rule, in Entity Framework, if you have a proper model and properly set up navigation properties for foreign keys, you should almost never use join - instead you access your navigational property directly and EF will generate the necessary join in the SQL code for you. I recommend taking a look at @Craig Stuntz's blogpost regarding this issue.
Regarding Linq-to-objects, however, it depends on the particular query you are writing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文