为了账号安全,请及时绑定邮箱和手机立即绑定

EntityFrameWork.Core 和 EntityFramework 在执行查询时有什么不同?

EntityFrameWork.Core 和 EntityFramework 在执行查询时有什么不同?

慕容708150 2018-12-07 00:59:22
最近,在迁移一个 .NET Framework 的项目到 .NET Core 。然后这几天一直遇到了一个问题,直到今天才有了点起色。 问题其实时这样的: 这个是在 .NET Framework上面的查询代码。 return await myInfo .Where(...) .OrderBy(...) .ThenByDescending(..) .ToListAsync(); 然后 myInfo 这个Entity 中呢有一个外键 就是 UerInfo, 在 .NET Framework上面呢,上面那段代码执行后,是能够成功也把我的UserInfo 查询出来的,但是呢,我迁移到 .NET Core上 发现 那个 UserInfo的值竟然是空的。前些天一直以为是我的AutoMapper 映射有问题,但是查看了 代码发现不对。最终锁定在这个语句。 然后今天咨询了一下, 在原来的代码中加上 .Include(c => c.外键名) 竟然查出来了。 代码如下: return await myInfo .Where(...) .Include(c => c.外键) .OrderBy(...) .ThenByDescending(..) .ToListAsync(); 所以我想问一下,这个是EntityFramework 和 EntityFramework.Core 这个的区别吗? 最根本的原因是什么?
查看完整描述

2 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

efcore不再有延迟加载,所以你只能通过Include来进行显式加载
查看完整回答
反对 回复 2018-12-09
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

Lazy Loading | Explicit Loading | Eager Loading in EntityFramework and EntityFramework.Core
查看完整回答
反对 回复 2018-12-09
  • 2 回答
  • 0 关注
  • 615 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信