Ich versuche eine Entity (Entity Framework 6) in json zu serialisieren. Ich sorge dafür, dass der Eintrag im Speicher vor der Serialisierung über die AsNoTracking() -Methode ist, aber ich bekomme einen Fehler, da es keinen Wert von einer anderen Tabelle erhalten kann, die im Eintrag referenziert wird.Wie in einem JSON von Entität serialisieren?
Inner Exception: When an object is returned with a NoTracking merge option, Load can only be called when the EntityCollection or EntityReference does not contain objects.
Exception: JsonSerializationException: Error getting value from 'TABLE_X' on 'System.Data.Entity.DynamicProxies....
Code:
List<Location> locations = new DbContext().Locations.Where(x => x.Type == 1).Take(5).AsNoTracking().ToList();
string s = JsonConvert.SerializeObject(locations, new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore });
Alles, was ich tun möchte, ist eine Zeichenfolge der serialisierten Einheit zurückzukehren. Ich bin nicht besorgt über andere Objekte, nur die Orte Entität.
Wenn ich an die Verbindung versucht, Entsorgung und dann Json Serialisierung ich den Fehler erhalten: The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.
Ich will nur meine Liste serialisiert werden, ich will keine fremden Abhängigkeiten zurück/serialisiert.
Warum brauchen Sie diese Entität zu serialisieren? – Marco
Weil ich es für später in einer JSON-Datei speichern möchte. Z.B. Unit-Testing mit gültigen/wertvollen Daten. –
Ich würde das Speichern von POCO-Klassen, aber jetzt EF-Entitäten verstehen, aber dann wiederum haben Sie möglicherweise andere Anforderungen. – Marco