Eu tenho 2 entidades que estão relacionadas como uma para muitas
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;}
}
Se eu tentar obter restaurantes com reservas usando minha API
var restaurants = await _dbContext.Restaurants
.AsNoTracking()
.AsQueryable()
.Include(m => m.Reservations).ToListAsync();
.....
Eu recebo erro na resposta, porque os objetos contêm referências um ao outro. Existem posts relacionados que recomendam a criação de um modelo separado ou a adição da configuração do NewtonsoftJson
O problema é que eu não quero criar um modelo separado e a segunda sugestão não ajudou. Existe alguma maneira de carregar dados sem relação ciclada? *
System.Text.Json.JsonException: um possível ciclo de objeto foi detectado e não é suportado. Isso pode ser devido a um ciclo ou se a profundidade do objeto for maior que a profundidade máxima permitida de 32. no System.Text.Json.ThrowHelper.ThrowInvalidOperationException_SerializerCycleDetected (Int32 maxDepth) no System.Text.Json.JsonSerializer.Write (Utf8JsonWriter writer , Int32 originalWriterDepth, Int32 flushThreshold, JsonSerializerOptions opções, WriteStack & state) em System.Text.Json.JsonSerializer.WriteAsyncCore (Stream utf8Json, Valor do objeto, Tipo inputType, JsonSerializerOptions opções, CancellationToken canceltingTextServiceFormattersTextSystem.Text. WriteResponseBodyAsync (contexto OutputFormatterWriteContext, Encoding selectedEncoding) em Microsoft.AspNetCore.Mvc.
*