Tengo 2 entidades que están relacionadas como una a muchas
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;}
}
Si trato de obtener restaurantes con reservas usando mi API
var restaurants = await _dbContext.Restaurants
.AsNoTracking()
.AsQueryable()
.Include(m => m.Reservations).ToListAsync();
.....
Recibo un error en respuesta, porque los objetos contienen referencias entre sí. Hay publicaciones relacionadas que recomiendan crear un modelo separado o agregar la configuración de NewtonsoftJson
El problema es que no quiero crear un modelo separado y la segunda sugerencia no ayudó. ¿Hay alguna forma de cargar datos sin una relación cíclica? * *
System.Text.Json.JsonException: se detectó un posible ciclo de objeto que no es compatible. Esto puede deberse a un ciclo o si la profundidad del objeto es mayor que la profundidad máxima permitida de 32. en System.Text.Json.ThrowHelper.ThrowInvalidOperationException_SerializerCycleDetected (Int32 maxDepth) en System.Text.Json.JsonSerializer.Write (Utf8JsonWriterizer , Int32 originalWriterDepth, Int32 flushThreshold, JsonSerializerOptions opciones, WriteStack & state) en System.Text.Json.JsonSerializer.WriteAsyncCore (Stream utf8Json, Object value, Type inputType, JsonSerializerOptions opciones, CancellationToken.tm. WriteResponseBodyAsync (contexto OutputFormatterWriteContext, codificación selectedEncoding) en Microsoft.AspNetCore.Mvc.
* *