一尘不染

将LINQ序列化为SQL类时的循环引用异常

json

我有一组linq到sql类,并使用.NET JavaScriptSerializer将它们序列化为JSON。

但是,一旦我将记录添加到相关表上,序列化就会引发“循环引用异常”。啊!

这里详细描述。

我有几种选择

  • 将linq to sql类转换为没有关系的类,从而避免循环引用
  • 通过取消关联来剪断循环引用-我不认为这是一个真实的选择
  • 使用ScriptIgnoreAttribute(以某种方式)。我不容易应用此方法,因为属性在生成的类中,并且LINQ to SQL不会自动接受伙伴类
  • 使用JSON.NET并以某种方式使用属性+伙伴类来阻止序列化程序尝试遍历关系。

有人遇到过这种情况么?如果可能的话,我真的更愿意选择最后一个选项,但是我不知道该怎么做。

任何帮助是极大的赞赏


阅读 204

收藏
2020-07-27

共1个答案

一尘不染

最新版本的Json.NET支持序列化循环关系。在帮助中查看“
保留对象引用 ”。

2020-07-27