【问题标题】:Entity Framework Include Has Infinite References [duplicate]实体框架包含具有无限引用[重复]
【发布时间】:2021-08-17 16:43:36
【问题描述】:

我查看了许多实体框架 Include() 的解决方案,但找不到有效的解决方案。当我使用 context.A.Include(x => x.B);它包含父对象和子对象的无限引用。我想禁用它。换句话说,A -> B 和 B -> A 和 A -> B 等等。它会导致超时和性能问题。我该如何避免这种情况?使用 .NET Core 3.1。

【问题讨论】:

  • 序列化需要它吗?
  • 我正在使用 MVC 设置来检索表及其所有外键引用,以便在站点中进行用户管理。但是从 API 返回的数据应该只有一个父子对象。并非所有额外的父/子引用都被无限嵌套。
  • 应该有人毒你 $$$$$$。谢谢! ♥
  • 仅供其他人参考:包 - Microsoft.AspNetCore.Mvc.NewtonsoftJson Dotnet 版本 - 启动中的 3.1 代码 - services.AddMvc().AddNewtonsoftJson(options => options.SerializerSettings. ReferenceLoopHandling = ReferenceLoopHandling.Ignore);

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


【解决方案1】:
public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc()
        .AddJsonOptions(
            options => options.SerializerSettings.ReferenceLoopHandling = 
              Newtonsoft.Json.ReferenceLoopHandling.Ignore
        );
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-06
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多