Ich habe 2 Entitäten, die als eins zu viele verwandt sind
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;}
}
Wenn ich versuche, Restaurants mit Reservierungen über meine API zu bekommen
var restaurants = await _dbContext.Restaurants
.AsNoTracking()
.AsQueryable()
.Include(m => m.Reservations).ToListAsync();
.....
Ich erhalte eine Fehlerantwort, da Objekte Verweise aufeinander enthalten. Es gibt verwandte Beiträge, die empfehlen , ein separates Modell zu erstellen oder eine NewtonsoftJson-Konfiguration hinzuzufügen
Das Problem ist, dass ich kein separates Modell erstellen möchte und der zweite Vorschlag nicht geholfen hat. Gibt es eine Möglichkeit, Daten ohne zyklische Beziehung zu laden? * *
System.Text.Json.JsonException: Es wurde ein möglicher Objektzyklus erkannt, der nicht unterstützt wird. Dies kann entweder auf einen Zyklus zurückzuführen sein oder wenn die Objekttiefe größer ist als die maximal zulässige Tiefe von 32. bei System.Text.Json.ThrowHelper.ThrowInvalidOperationException_SerializerCycleDetected (Int32 maxDepth) bei System.Text.Json.JsonSerializer.Write (Utf8JsonWrit , Int32 originalWriterDepth, Int32 flushThreshold, JsonSerializerOptions-Optionen, WriteStack & state) bei System.Text.Json.JsonSerializer.WriteAsyncCore (Stream utf8Json, Objektwert, Typ inputType, JsonSerializerOptions-Optionen WriteResponseBodyAsync (OutputFormatterWriteContext-Kontext, Codierung selectedEncoding) bei Microsoft.AspNetCore.Mvc.
* *