Wie zu stoppen self-referencing-Schleife in .Net-Core-Web-API?

Ich habe einige Fragen, die ich vermute, sind im Zusammenhang mit selbst-Referenzierung verwenden .NET-Core-Web-API und Entity Framework-Kern. Meine Web-API ab Würgen, wenn ich Hinzugefügt .Enthält für einige Navigations-Eigenschaften.

Habe ich gefunden, was zu sein scheint eine Lösung in ältere Web-API, aber ich weiß nicht, wie zu implementieren, die gleiche Sache für .NET-Core-Web-API (ich bin immer noch in der early learning Phasen).

Die ältere Lösung, steckte diese in der Application_Start() des Globalen.asax:

 GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Serialize;

Ich vermute, dies erfolgt in der StartUp ist ConfigureService () - Methode, aber ich weiß nicht viel über es.

Oder gibt es eine angemessenere Art und Weise zu handhaben Sie dieses Problem?

  • Generell kann ich mit API-Objekten, die nicht über die kreisförmigen Schleifen (nicht die gerade EF-Objekte)
  • ich bin damit einverstanden, ordnen Sie Ihre DB-Draht-Objekte, API-Aufrufer konzentriert. Die DB über einen Draht ist ein anti-pattern für die software-Entwicklung (ironischerweise ist es eine goto-Lösung für so viele Menschen "zu tun, RUHE")
  • Es scheint, dass gegen das DRY-Prinzip, da mein Draht-Modelle würden genauso Aussehen wie meine, die Modelle sind bevölkert von EF.
  • Die eigentliche Frage ist, sollte Sie? Allgemein API-Objekte können sehr viel flacher als diejenigen, die für eine relationale Datenbank
InformationsquelleAutor Sailing Judo | 2017-03-01
Schreibe einen Kommentar