AutoMapper を使用して UI モデルを POCO に変換し、後で DataContractSerializer を使用して XML にシリアル化し、それらの間の参照を保持しています。
問題は、マッピング時に、これらのエンティティ間の参照が失われることです。
UI クラスは相互に参照しますが、マッピング プロセスはすべての参照に対して新しいインスタンスを作成するため、元の関係は壊れています :(
説明させてください:
タイプPersonのエンティティが2つあります
Person
{
List<House> OwnedHouses
}
そして、これらの2つのオブジェクト
所有するジョン
- ハウス1
ウィル も所有
- ハウス1
AutoMapper が各 Person を正しくマッピングするとき、しかし House1 も 2 つの異なるインスタンスとしてマッピングするとき!!
したがって、House1 のコピーが 2 つあります。John は自分の House1 (#1) を所有し、Will は自分の House1 (#2) を所有しています。
それらはもうリンクされていません。
元々存在していた関係を維持する方法はありますか?
ありがとう。
EDITED:実際に私が持っているのはこれです:
Document には、ChildDocuments のリストが含まれています。各 ChildDocument には、Designables (Rectangles、Lines、Ellipses など) のリストと、ANOOTHER ChildDocument を含む ChildDocumentAdapter と呼ばれる特別な designable があります。これは問題です。別の ChildDocument を参照できます。