Круговая ссылка эмиттер

Испускать маппер круговые ссылки. Я пытаюсь сопоставить AA с A. У объекта B есть объект, а у B объект A. Это проблема циклической ссылки. Я не уверен, как Emit mapper может справиться с этой проблемой.

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);

Нужно карту от А до АА. Теперь я получил ошибку переполнения стека. Кто-нибудь знает, как решить эту проблему?

1 ответ

Круговые эталонные классы создаются электроинструментами 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;}
}
Другие вопросы по тегам