日期:2014-05-17  浏览次数:20538 次

EntityFramework实体类转换为JSON 问题
DataContractJsonSerializer ser = new DataContractJsonSerializer(lst.GetType());
  MemoryStream ms = new MemoryStream();
  ser.WriteObject(ms, lst.GetType()); ==>这里报错
  return t;
如果用这种方法会提示:
无法将“****”类型序列化为 JSON,因为它的 IsReference 设置是“True”。JSON 格式不支持引用,因为不存在表示引用的标准化格式。若要启用序列化,请禁用此类型的 IsReference 设置,或禁用此类型的适当父类。

如果用JavaScriptSerializer 会提示检测到循环引用。

大家有没有好点的方法?

------解决方案--------------------
没弄过,帮顶下
------解决方案--------------------
没用过这个DataContractJsonSerializer ,你直接自己写一个json转换不就可以了,反射类所有的property,取值,然后组成json格式就可以了
------解决方案--------------------
在你的 Context 构造函数中加入:

Configuration.ProxyCreationEnabled = false;