我正在使用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()
});
对比
var query = dbContext.Comapanies.Include(k=>k.Departments).ToList();
我的问题是应该使用哪个,并且有什么优缺点。
在使用多个表格的情况下,我发现对于使用Include的反馈意见不一。
根据以下文章: https://msdn.microsoft.com/en-in/data/jj574232.aspx “请注意,目前无法过滤加载哪些相关实体。Include将始终包含所有相关实体。”
这个陈述也不是很清楚。 请给出建议。