【问题标题】:Entity Framework Core include loading extra navigational propertiesEntity Framework Core 包括加载额外的导航属性
【发布时间】:2018-06-02 09:10:48
【问题描述】:

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

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

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

这很好用,但如果AnotherEntity 具有导航属性,它会自动加载这些属性。这正成为大型应用程序的问题,因为我的一些 Web api 调用返回大量数据,因为所有嵌套实体都是如此。

这是模型设计问题还是我找不到的设置?我没有开启延迟加载。

编辑

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

【问题讨论】:

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


【解决方案1】:

你可以阅读this关于延迟加载的文档。

也许您可以使用proxies Nuget pacckage解决您的问题

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

【讨论】:

  • 我不确定是否要使用延迟加载。我希望能够只使用 ThenInclude() 来加载任何想要的嵌套关系,而不是自动加载它们。
猜你喜欢
  • 2017-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 2021-05-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多