【发布时间】:2010-05-07 04:21:18
【问题描述】:
我有两个 NHibernate 管理的实体,它们具有双向的一对多关系:
public class Storage
{
public virtual string Name { get; set; }
public virtual IList<Box> Boxes { get; set; }
}
public class Box
{
public virtual string Box { get; set; }
[DoNotSerialize] public virtual Storage ParentStorage { get; set; }
}
一个Storage 可以包含许多Boxes,一个Box 总是属于一个Storage。我想编辑 Box's 名称,所以我使用 JSON 将其发送到客户端。请注意,我不会序列化 ParentStorage,因为我不会更改它所在的存储空间。
客户端编辑名称并将Box 作为 JSON 发送回。服务器将其反序列化回Box 实体。
问题是,ParentStorage 属性为空。当我尝试将Box 保存到数据库时,它会更新名称,但也会删除与Storage 的关系。
如何正确序列化和反序列化像 Box 这样的实体,同时将 JSON 数据大小保持在最低限度?
【问题讨论】:
标签: nhibernate serialization orm entity-relationship object-graph