Json序列化存在外键的context对象失败,有好的解决办法没???

VSaber 2012-02-23 10:42:23
做mvc项目遇到这个问题,从controller返回json结果到view,如果context对象有外键的话,序列化就失败了。
可以再EF生成的对应属性添加[ScriptIgnore]来解决,不过比较麻烦,还有别的方法吗?
...全文
127 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nonocast 2012-02-24
  • 打赏
  • 举报
回复
用的是DataContractJsonSerializer
nonocast 2012-02-24
  • 打赏
  • 举报
回复
可以,IgnoreDataMember

[IgnoreDataMember]
public List<Party> Participants {
get { return GetValues<Party>("Participants"); }
set { SetValues<Party>("Participants", value); }
}
VSaber 2012-02-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 nonocast 的回复:]

从层次来说,EF中的对象属于PO,而通过Controller交换出去的对象属于TO,你可以单独写一个没有外键的对象作TO使用,看上去我在逃避问题,其实不如换个思路想想。
[/Quote]
单独写的问题就是麻烦,不知道有没有适合的简单方法。例如说在传给Json前过滤指定属性不做序列化。
nonocast 2012-02-24
  • 打赏
  • 举报
回复
从层次来说,EF中的对象属于PO,而通过Controller交换出去的对象属于TO,你可以单独写一个没有外键的对象作TO使用,看上去我在逃避问题,其实不如换个思路想想。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧