質問

linq to sql クラスのセットがあり、.NET JavaScriptSerializer を使用してそれらを JSON にシリアル化しました。

ただし、関連テーブルにレコードを追加するとすぐに、シリアル化によって「循環参照例外」がスローされます。ああああ!

詳しく説明されてるよ ここ.

いくつかの選択肢があります

  • linq to sql クラスを関係のないクラスに変換し、循環参照を回避します。
  • 関連を無効にして循環参照を切り取る - これが実際のオプションとは考えていません
  • (何らかの方法で) ScriptIgnoreAttribute を使用します。プロパティは生成されたクラス内にあり、LINQ to SQL はバディ クラスを自動的に尊重しないため、これを簡単に適用することはできませんでした。
  • JSON.NET を使用し、何らかの方法で属性とバディ クラスを使用して、シリアライザーがリレーションシップを横断しようとするのを停止します。

他にこれに遭遇した人はいますか?可能であれば最後のオプションを選択したいのですが、これを行う方法がわかりません。

助けていただければ幸いです

役に立ちましたか?

解決

Json.NETの最新バージョンは、円形の関係をシリアル化をサポートしています。チェックアウトヘルプのオブジェクト参照をを保存ます。

scroll top