如何停止.Net Core Web API中的自引用循环?

2024-04-10

我遇到了一些问题,我猜这些问题与使用 .NET Core Web API 和 Entity Framework Core 的自引用有关。当我添加一些导航属性的 .Includes 时,我的 Web API 开始变得令人窒息。

我在较旧的 Web API 中找到了似乎是一个解决方案,但我不知道如何为 .NET Core Web API 实现相同的功能(我仍处于早期学习阶段)。

旧的解决方案将其粘贴在 Global.asax 的 Application_Start() 中:

 GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Serialize;

我怀疑这是在 StartUp ConfigureServices() 方法中处理的,但我对此了解不多。

或者有没有更合适的方法来处理这个问题?


好吧...我终于找到了一些这方面的参考资料。解决办法是:

public void ConfigureServices(IServiceCollection services)
{
    ...

    services.AddMvc()
        .AddJsonOptions(
            options => options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore
        );

    ...
}

我从那里得到这个here https://learn.microsoft.com/en-us/ef/core/querying/related-data

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何停止.Net Core Web API中的自引用循环? 的相关文章

随机推荐