【问题标题】:Entity Framework Core 1.0.0 Disable Eager/Lazy LoadingEntity Framework Core 1.0.0 禁用急切/延迟加载
【发布时间】:2016-07-08 23:28:07
【问题描述】:

似乎找不到任何关于 EF Core 的提及。我找到了在以前的 EF 版本中禁用延迟加载的示例。我有一个我正在开发的 asp.net 核心、MVC6、Web Api 和 AngularJS 站点。

在应用程序中,我有一个表 Members 和一个表 MemberStateActions,其中包含对 Members 表的外键引用。我正在使用下面的查询选择数据,然后通过 Web Api 调用将数据作为 Json 返回类型返回。 通过 Web Api 返回的结果 MemberStateActions 对象填充了 MemberStateAction.Member 对象。我没有急切地使用 .include 加载成员数据。我没有通过调用属性来延迟加载成员对象。我不明白为什么会自动填充会员数据。我读过 json 序列化可能会调用成员属性,导致成员数据在 Web Api 响应中发送之前延迟加载。不确定这是否是原因。

底线,我正在研究如何防止自动加载成员对象。可能通过禁用延迟加载?

        var q = (from x in _context.MemberStateAction
                 where x.MemberId == memberID
                 select x);

        return q;

【问题讨论】:

  • 你的EF Core没有延迟加载,还是没有做?你到底想要什么

标签: json asp.net-core asp.net-web-api2 lazy-loading entity-framework-core


【解决方案1】:

Entity Framework Core 目前没有实现延迟加载(RTM Build)。

建议您使用 .Include 扩展方法进行预加载。使用存储库为您进行预加载也是一个好主意。

参考:https://github.com/aspnet/EntityFramework/issues/3797

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 2020-03-10
    • 2018-06-21
    • 1970-01-01
    相关资源
    最近更新 更多