Я перепробовал много вариантов, чтобы Automapper правильно отобразил отношения Родитель / Дочерний.
Модель:
//Entity
public class WorkArea
{
public Guid Id;
public Name {get;set;}
public Guid? ParentWorkAreaId {get;set;} //for entity Framework Foreign Key
public WorkArea ParentWorkArea {get;set;}
public ICollection<WorkArea> ChildWorkareas {get;set;}
}
//DTO
public class WorkAreaDto
{
public Guid Id;
public Name {get;set;}
public Guid? ParentWorkAreaId {get;set;} //for entity Framework Foreign Key
public WorkAreaDto ParentWorkArea {get;set;}
public ICollection<WorkAreaDto> ChildWorkareas {get;set;}
}
Это отображение вызывает переполнение стека:
Mapper.CreateMap<WorkArea,WorkAreaDto>();
Я пробовал что-то в точности как этот и имел ту же ошибку
Затем я создал пользовательский TypeConverter, но я должен не только писать рекурсивные методы для детей, но и для родителей.Похоже, что много работы действительно сделать это правильно сопоставить.Не уверен, что делаю что-то не так.Я использую 2.0
Обновление: Я думаю, что моя проблема связана с System.Data.Entity.DynamicProxies, созданными Entity Framework.