J'ai remarqué que les personnes avaient déjà écrit sur ce problème de référence circulaire mais aucune solution n'a jamais été publiée.Entités du modèle de données de l'entité de retour en tant que données JSON
Je parle de cette erreur: "Une référence circulaire a été détectée lors de la sérialisation d'un objet de type 'DocInvoice.Models.Clients'."
Est-ce que quelqu'un a essayé de le sérialiser en JSON avec la bibliothèque Json.NET?
Si j'ai des requêtes Linq vers des entités, est-ce ma seule option pour coder manuellement les propriétés d'entité et ignorer celles qui sont des propriétés de navigation? Parce que ce sont ceux qui font des problèmes ..
Il est ennuyeux parce que vous devez écrire à la main comme des douzaines (ou plus) propriétés d'entité dans Linq "nouvelle" déclaration. Par exemple, si je veux toutes les propriétés que je peux le faire, mais il en résulte une erreur de référence circulaire:
var clients = from client in edmx.Clients
from postcode in edmx.PostCodes
where (client.client_firstname.StartsWith(q) ||
client.client_lastname.StartsWith(q)) &&
postcode.postcode == client.PostCodes.postcode
select new {client, postcode};
la seule autre option est:
select new { client.client_id,
client.client_firstname,
....., ... ,
postcode.postcode
}; ...
Joli commentaire et explication, merci – mare