我正在使用JavaScriptSerializer来序列化EF4实体,并在尝试将它们序列化为JSON时获取循环引用。
我不想编辑生成的模型,因此我提供了元数据类,并将这些属性标记为ScriptIgnore,但我猜JavaScriptSerializer不使用元数据,因为我仍然得到相同的错误。
那么在这种情况下,您如何将对象序列化为json?有没有办法在不使用ViewModel的情况下执行此操作,可能还有默认的JavaScriptSerializer。
答案 0 :(得分:3)
添加JavaScriptConverter
like so。请注意,我们不需要对要序列化的实体进行任何特殊访问即可,但如果您有许多受此问题影响的实体,则可能会非常痛苦。如果这可能是一个问题,那么只需编写一个可以更直接控制的DTO类(与您的模型一起使用双胞胎)可能就不那么容易了。
您不能编辑生成的类,并且(令人沮丧的是)您不能使用partial class
向partial class
的另一部分中声明的成员添加属性。