加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 不要在JSON中序列化Entity Framework类引用(Serv

发布时间:2020-12-16 00:16:58 所属栏目:asp.Net 来源:网络整理
导读:作为大多数人,当将(可怕的)EF对象序列化为JSON时,我也遇到了循环引用错误的问题.执行db.Detach(efObject)有帮助 – 但我仍然像“EntityKey”那样输出垃圾. 所以我想知道是否有一个选项(通过JsConfig?)告诉序列化器通过名称(EntityKey)或类型(EntityReferenc
作为大多数人,当将(可怕的)EF对象序列化为JSON时,我也遇到了循环引用错误的问题.执行db.Detach(efObject)有帮助 – 但我仍然像“EntityKey”那样输出垃圾.

所以我想知道是否有一个选项(通过JsConfig?)告诉序列化器通过名称(EntityKey)或类型(EntityReference< T>或EntityCollection< T>)忽略属性?

或者我将被迫完全抛弃EF并切换到更好的东西(我不想手动定义ORM类 – 我希望它们是从DB自动生成的)?

解决方法

您不应该尝试重复使用 Entity Framework types as DTO’s,因为它们是DTO设计不佳的替代品.您应该使用ServiceStack的内置TranslateTo / PopulateFrom映射器(或AutoMapper)将它们映射到特殊用途的DTO类型并返回它们.

话虽如此,请在要序列化的属性上使用IgnoreDataMember or specify DataMembers.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读