Automapperに親子関係を正しくマップさせるための多くのオプションを試しました。Entity FrameworkでDynamicProxiesが生成されると、Automapperとマッピングの親子関係によってStackOverflowエラーが発生しますか?
モデル:
//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>();
私は正確にthisのようなものを試してみましたが、同じエラーに
を持っていた私は、カスタムのTypeConverterを作成したが、子供のための再帰的な方法を書く必要があるだけでなく、親も。ちょうど多くの仕事が正しくマップするためにこれを取得するように思えます。私が何か間違っているかどうかはわかりません。私は私の問題は、エンティティフレームワークによって生成System.Data.Entity.DynamicProxiesだと思う :私は2.0
アップデートを使用しています。
私は上記のコードをテストし、CreateMap呼び出しを実行するときにStackOverflowExceptionがを受信しませんでした。あなたはそれが例外を見ている場所ですか? – PatrickSteele
Mapper.CreateMap <>()を呼び出すとき、またはMapper.Map <>()を呼び出すときに例外が発生しますか? –
@dtryon:Mapper.Map <> – DDiVita