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