实体框架核心1.0.0禁用预加载/延迟加载

时间:2016-07-08 23:28:07

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

似乎无法为EF Core找到任何提及。我找到了在以前的EF版本中禁用延迟加载的示例。我有一个asp.net核心,MVC6,Web Api和我正在研究的AngularJS网站。

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

最重要的是,我正在寻找如何防止成员对象自动加载的方向。可能通过禁用延迟加载?

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

        return q;

1 个答案:

答案 0 :(得分:0)

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

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

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