一連の linq to sql クラスがあり、.NET JavaScriptSerializer を使用してそれらを JSON にシリアル化しました。
ただし、関連するテーブルにレコードを追加するとすぐに、シリアル化によって「循環参照例外」がスローされます。ああっ!
ここに詳しく説明されています。
いくつかのオプションがあります
- linq to sql クラスを関係のないクラスに変換して、循環参照を回避します。
- アソシエーションを無効にして循環参照を切り取る - 私はこれを現実的な選択肢とは考えていません
- ScriptIgnoreAttribute を (何らかの方法で) 使用します。プロパティは生成されたクラスにあり、LINQ to SQL はバディ クラスを自動的に尊重しないため、これを簡単に適用することはできませんでした。
- JSON.NET を使用し、何らかの方法で属性 + バディ クラスを使用して、シリアライザーが関係を横断しようとするのを止めます。
他の誰かがこれに遭遇しましたか?可能であれば最後のオプションを希望しますが、これを行う方法がわかりません。
どんな助けでも大歓迎です