[英]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.