J'ai un ensemble de classes linq à sql et les sérialise en JSON en utilisant le .NET JavaScriptSerializer.Exception de référence circulaire lors de la sérialisation des classes LINQ to SQL
Cependant, dès que j'ajoute un enregistrement sur une table de rattachement, la sérialisation génère une "exception de référence circulaire". Aaarggh!
Il est décrit en détail here.
J'ai quelques options
- Convertir LINQ à la classe sql à une classe sans relations évitant ainsi la référence circulaire
- snip la référence circulaire par les associations de mise à zéro - Je ne pense pas que cela être une véritable option
- Utilisez ScriptIgnoreAttribute (en quelque sorte). Je ne pourrais pas facilement l'appliquer car les propriétés sont dans les classes générées et LINQ to SQL n'honore pas automatiquement les classes buddy
- Utilise JSON.NET et utilise en quelque sorte les attributs + classes buddy pour empêcher le sérialiseur de parcourir les relations.
Est-ce que quelqu'un d'autre a rencontré cela? Je préférerais vraiment la dernière option si possible mais je ne sais pas comment faire.
Toute aide est grandement appréciée
a jouté un message blog détaillant la configuration: http://www.johnnycode.com/blog/2012/04/10/serializing-circular-references-with-json-net-and-entity-framework/ –