J'essaie de désérialiser JSON que je reçois à partir d'une source externe dans une classe d'entité Entity Framework en utilisant le code suivant:tout en essayant de désérialiser JSON en utilisant EntityFramework JavaScriptSerializer
var serializer = new JavaScriptSerializer();
IList<Feature> obj = serializer.Deserialize<IList<Feature>>(json);
L'exception suivante est lancé:
Objet de type 'System.Collections.Generic.List
1[JustTime.Task]' cannot be converted to type 'System.Data.Objects.DataClasses.EntityCollection
1 [JustTime.Task]'.
Mon modèle est simple: La classe Feature a une relation un-à-plusieurs avec la classe Tâches. Le problème semble être le désérialisateur tente de créer une liste générique pour contenir la collection de tâches au lieu d'un EntityCollection.
J'ai essayé d'implémenter un JavaScriptConverted qui gérerait System.Collections.Generic.List mais il n'a pas été appelé par le deserializer.
Quelle version de .NET utilisez-vous? Aussi, que se passe-t-il si vous supprimez l'assigment à 'obj '? –
J'utilise .net v4. La suppression de l'assignation n'aide pas car l'exception se produit à l'intérieur du désérialiseur lors de la désérialisation de la liste des tâches d'une fonction. – Barak
S'il vous plaît vérifier les liens suivants: - http://stackoverflow.com/questions/2002940/json-and-circular-reference-exception - http://stackoverflow.com/questions/5588143/ef- 4-1-code-first-json-circulaire-reference-serialization-error – Korayem