我有两个 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; }
}
AStorage
可以包含许多Boxes
,并且 aBox
始终属于 a Storage
。我想编辑一个Box's
名称,所以我使用 JSON 将其发送给客户端。请注意,我没有序列化ParentStorage
,因为我没有更改它所在的存储。
客户端编辑名称并将其Box
作为 JSON 发送回来。服务器将其反序列化回Box
实体。
问题是,该ParentStorage
属性为空。当我尝试将 保存Box
到数据库时,它会更新名称,但也会删除与Storage
.
如何正确序列化和反序列化像 a 这样的实体Box
,同时将 JSON 数据大小保持在最低限度?