Ho un set di classi da linq a sql e li serializzo in JSON utilizzando .NET JavaScriptSerializer.Eccezione di riferimento circolare durante la serializzazione delle classi da LINQ a SQL
Tuttavia, non appena aggiungo un record a una tabella correlata, la serializzazione genera una "eccezione di riferimento circolare". Aaarggh!
È descritto in dettaglio here.
Ho un paio di opzioni
- Convertire il LINQ to SQL di classe a una classe senza relazioni evitando così il riferimento circolare
- snip il riferimento circolare dalle associazioni nulling - non ritengo che questo essere un'opzione reale
- Utilizzare ScriptIgnoreAttribute (in qualche modo). Non ho potuto facilmente applicare questo perché le proprietà sono in classi generate e LINQ to SQL non onora automaticamente le classi buddy
- Usa JSON.NET e in qualche modo usa attributi + classi buddy per fermare il serializzatore che prova a camminare attraverso le relazioni.
Qualcun altro ha riscontrato questo? Preferirei davvero l'ultima opzione, se possibile, ma non so come farlo.
Qualsiasi aiuto è molto apprezzato
ha postato sul blog in dettaglio il programma di installazione: http://www.johnnycode.com/blog/2012/04/10/serializing-circular-references-with-json-net-and-entity-framework/ –