实体框架核心包括加载额外的导航属性

时间:2018-06-01 19:42:22

标签: c# .net-core entity-framework-core .net-core-2.1

我正在使用.NET Core和EF Core 2.1。

我使用的是一个非常简单的类型查询:

var entities = context.SomeEntity
                      .Include(s => s.AnotherEntity)
                      .ToList();

这样可以正常工作,但如果AnotherEntity具有导航属性,则会自动加载这些属性。这对于非常大的应用程序来说已成为一个问题,因为我的一些web api调用正在返回大量数据,因为所有嵌套实体都是如此。

这是一个我无法找到的模型设计问题或设置吗?我没有启用延迟加载。

修改

原来问题是在同一个webapi操作中有多个其他上下文调用。如果其他一个调用上存在导航属性,则会加载所有导航属性。我通过添加.AsNoTracking()来修复它。

1 个答案:

答案 0 :(得分:0)

您可以阅读有关延迟加载的this文档。

也许您可以使用proxies Nuget pacckage

解决问题

另外,请记住,类中的导航属性必须是虚拟的。