0

マッパーの循環参照の問題を発生させます。AA を A にマップしようとしています。A には B のオブジェクトがありますが、B には A のオブジェクトがあります。これは循環参照の問題です。Emit マッパーがこの問題をどのように処理できるかわかりません。

public class A
{
    public A()
    {
        list = new List<B>();
    }
    List<B> list {get; set;}
}

public class B
{
    public A object {get; set;}
}
public class AA
{
    public AA()
    {
           list= new List<BB>();
    }
    public List<BB> list {get; set;}
}
public class BB
{
    public AA object {get; set;}
}
objectified = new A();
ObjectMapperManager.DefaultInstance.Get Mapper<A, AA>().Map(objectified);

A から AA にマップする必要があります。これで、スタック オーバーフロー エラーが発生しました。この問題を解決する方法を知っている人はいますか?

4

1 に答える 1

0

循環参照クラスは、EF パワー ツールによって作成されます。また、生成されたクラスは、一方向の親参照のみのクラスに更新する必要があります。したがって、問題は Emitmapper とは関係なく、クラスの設計自体に問題があります。

public class A
{
    public A()
    {
        list = new List<B>();
    }
    List<B> list {get; set;}
}

public class B
{
    //remove the following child-parent relationship.
    //public A object {get; set;}
}
于 2013-12-26T14:49:38.723 に答える