У мене є 2 сутності, які пов’язані як один із багатьма
public class Restaurant {
public int RestaurantId {get;set;}
public string Name {get;set;}
public List<Reservation> Reservations {get;set;}
...
}
public class Reservation{
public int ReservationId {get;set;}
public int RestaurantId {get;set;}
public Restaurant Restaurant {get;set;}
}
Якщо я спробую придбати ресторани із бронюванням, використовуючи мою api
var restaurants = await _dbContext.Restaurants
.AsNoTracking()
.AsQueryable()
.Include(m => m.Reservations).ToListAsync();
.....
Я отримую помилку у відповіді, оскільки об'єкти містять посилання один на одного. Є пов’язані публікації, які рекомендують створити окрему модель або додати конфігурацію NewtonsoftJson
Проблема в тому, що я не хочу створювати окрему модель, і 2-я пропозиція не допомогла. Чи є спосіб завантаження даних без циклічного зв'язку? *
System.Text.Json.JsonException: виявлено можливий цикл об'єктів, який не підтримується. Це може бути пов’язано з циклом або якщо глибина об'єкта перевищує максимально дозволену глибину 32. у System.Text.Json.ThrowHelper.ThrowInvalidOperationException_SerializerCycleDetected (Int32 maxDepth) на System.Text.Json.JsonSerializer.Write (Utf8Jerson , Int32 originalWriterDepth, Int32 flushThreshold, JsonSerializerOptions options, WriteStack & state) на System.Text.Json.JsonSerializer.WriteAsyncCore (Потік utf8Json, Значення об'єкта, Type inputType, JsonSerializerOptions options, CancellationToken canceltenTextTextsetTextsetTextsetTextsett.TextMeatTextMeatTextMeatTextMeatTextMeatSextMee WriteResponseBodyAsync (контекст OutputFormatterWriteContext, кодування вибраногоEncoding) в Microsoft.AspNetCore.Mvc.
*