我有两个 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 数据大小保持在最低限度?