Mam 2 podmioty, które są powiązane jako jeden do wielu
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;}
}
Jeśli spróbuję dostać restauracje z rezerwacjami za pomocą mojego interfejsu API
var restaurants = await _dbContext.Restaurants
.AsNoTracking()
.AsQueryable()
.Include(m => m.Reservations).ToListAsync();
.....
W odpowiedzi pojawia się błąd, ponieważ obiekty zawierają odniesienia do siebie. Istnieją pokrewne posty, które zalecają utworzenie osobnego modelu lub dodanie konfiguracji NewtonsoftJson
Problem polega na tym, że nie chcę tworzyć osobnego modelu, a druga sugestia nie pomogła. Czy istnieje sposób ładowania danych bez relacji cyklicznej? *
System.Text.Json.JsonException: Wykryto możliwy cykl obiektu, który nie jest obsługiwany. Może to wynikać z cyklu lub głębokości obiektu jest większa niż maksymalna dozwolona głębokość 32. w System.Text.Json.ThrowHelper.ThrowInvalidOperationException_SerializerCycleDetected (Int32 maxDepth) w System.Text.Json.JsonSerializer.Write (Utf8JsonWriter writer , Int32 originalWriterDepth, Int32 flushThreshold, JsonSerializerOptions opcje, WriteStack & state) w System.Text.Json.JsonSerializer.WriteAsyncCore (Stream utf8Json, wartość obiektu, typ inputType, JsonSerializerOptions opcje, CancellationTput.TransruptTextMot. WriteResponseBodyAsync (kontekst OutputFormatterWriteContext, kodowanie selectedEncoding) w Microsoft.AspNetCore.Mvc.
*