System.Text. Json Цикл объекта включает только указанные уровни - PullRequest
0 голосов
/ 16 июня 2020
• 1000 строка кода в моем startup.cs:
services.AddControllers().AddNewtonsoftJson(options =>
    options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore
);

Однако я не хочу использовать этот подход, потому что возвращенный json содержит примерно 10 уровней, поскольку у меня много свойств навигации. Я не хочу, чтобы все эти уровни были включены в мой json. Мне просто нужны те, которые я указал с include. Итак, в приведенном выше примере я хочу, чтобы в объекте User отображался только объект Location. Однако, поскольку мой объект Location содержит список объектов User, он также будет содержать обратную ссылку, которая меня не интересует. Кто-нибудь знает, как этого добиться?

1 Ответ

0 голосов
/ 16 июня 2020

В итоге я создал объекты передачи данных (DTO), которые не содержат свойств навигации, которые создают цикл. Вы можете сопоставить их с помощью таких инструментов, как AutoMapper. Я оставляю вопрос открытым для лучших решений, которые автоматически содержат только уровень, указанный вами в include.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...