双方向の 1 対多の関係を持つ 2 つの 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、 a はBox常に a に属しStorageます。名前を編集したいBox'sので、JSON でクライアントに送信します。ParentStorageどのストレージにあるかを変更していないため、シリアル化しないことに注意してください。
クライアントは名前を編集し、BoxJSON として送り返します。サーバーはそれをデシリアライズしてBoxエンティティに戻します。
問題は、ParentStorageプロパティが null であることです。をデータベースに保存しようとするとBox、名前が更新されますが、 との関係も削除されStorageます。
BoxJSON データのサイズを最小限に抑えながら、 のようなエンティティを適切にシリアライズおよびデシリアライズするにはどうすればよいですか?