gpt4 book ai didi

.net - 为什么在简单的一对多关系上使用LINQ Join?

转载 作者:行者123 更新时间:2023-12-03 12:54:50 25 4
gpt4 key购买 nike

几年来我一直在使用LINQ to SQL和Entity Framework,而且我一直在映射数据库关系以生成相关的导航属性。而且我总是使用导航属性。

我想念什么吗?

如果我有一个Category->Products一对多类型关系,我会使用

var redProducts = context.Category.Single(c => c.Name = "red").Products;


我经常看到有人在这个站点,在线项目以及其他各种站点中进行手动加入。

var employer = from category in context.Categories
join product in context.Products
on category.CategoryId equals product.CategoryId
where category.Name == "red"
select product;


所以为什么?使用此 Join语法有什么好处?

最佳答案

It's usually a mistake.

@George是正确的,但是您的两个示例在功能上有所不同,与join与非join无关。但是您可以轻松地编写:

var redProducts = context.Category
.Where(c => c.Name == "red")
.SelectMany(c => c.Products);


...在功能上与 join示例相同(但在可读性和可维护性POV方面更胜一筹)。

关于.net - 为什么在简单的一对多关系上使用LINQ Join?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7229569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com