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

VSaber 2012-02-23 10:42:23
做mvc项目遇到这个问题,从controller返回json结果到view,如果context对象有外键的话,序列化就失败了。
可以再EF生成的对应属性添加[ScriptIgnore]来解决,不过比较麻烦,还有别的方法吗?
...全文
70 点赞 收藏 4
写回复
4 条回复
h705c 2012年02月24日
用的是DataContractJsonSerializer
回复 点赞
h705c 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前过滤指定属性不做序列化。
回复 点赞
h705c 2012年02月24日
从层次来说,EF中的对象属于PO,而通过Controller交换出去的对象属于TO,你可以单独写一个没有外键的对象作TO使用,看上去我在逃避问题,其实不如换个思路想想。
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告