繁体   English   中英

实体框架加入vs包含

[英]Entity Framework Join vs Include

我正在使用EF6.1并且与编写连接查询的两种格式相混淆。

var query = (from cc in dbContext.Companies.AsNoTracking()
             join dc in dbContext.Departments.AsNoTracking() 
             on cc.CompanyId equals dc.CompanyId
                select new {cc,dc}).ToList().Select(k=> New Company()
                              {
                                 CompanyId = k.cc.CompanyId,
                                 Departments = k.dc.ToList()
                              });

VS

var query = dbContext.Comapanies.Include(k=>k.Departments).ToList();

我的问题是哪一个应该使用,哪些是利弊。

我发现在多个表的情况下使用Include的混合反馈。

如下文所述https://msdn.microsoft.com/en-in/data/jj574232.aspx

“请注意,目前无法过滤哪些相关实体已加载。包含将始终存在于所有相关实体中。”

这个说法也不是很清楚。 请建议。

“请注意,目前无法过滤哪些相关实体已加载。包含将始终存在于所有相关实体中。”

**这个语句的意思是,如果表在数据库中定义了适当的关系,那么'Inclues'将起作用,但join语句不需要在数据库中定义任何关系

它是使用包含或加入使用时的关键点,顺便说一下包含更合适,因为它已经在DB和实体中管理

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM