У меня есть 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
Проблема в том, что я не хочу создавать отдельную модель, и второе предложение не помогло. Есть ли способ загрузить данные без циклических отношений? *
System.Text.Json.JsonException: обнаружен возможный цикл объекта, который не поддерживается. Это может происходить из-за цикла или если глубина объекта превышает максимально допустимую глубину 32. в System.Text.Json.ThrowHelper.ThrowInvalidOperationException_SerializerCycleDetected (Int32 maxDepth) в System.Text.Json.JsonSerializer.Write (Utf8JsonWriter writer , Int32 originalWriterDepth, Int32 flushThreshold, параметры JsonSerializerOptions, WriteStack & state) в System.Text.Json.JsonSerializer.WriteAsyncCore (поток utf8Json, значение объекта, тип inputType, параметры JsonSerializerOptions, CancellationToken.Tat.ToTone.Out.ToNet.ToreStore.ForS). В Microsoft WriteResponseBodyAsync (контекст OutputFormatterWriteContext, кодировка selectedEncoding) в Microsoft.AspNetCore.Mvc.
*