Automapper Projectionsを使用しているアプリケーションで自己参照モデルを処理する際に問題が発生しました。これは私のモデルの様子です。Automapper自己参照モデル投影
public class Letter
{
public int? ParentId {get; set;}
public Letter ParentLetter {get; set;
public int Id {get; set;}
public string Title {get; set;}
public string Content {get; set;}
public DateTime? ReceivedTime {get; set;}
public DateTime? SendingTime {get; set;}
public List<Destination> Destinations {get; set;}
public List<Letter> Responses {get; set;}
}
public class LetterView
{
public int? ParentId {get; set;}
public int Id {get; set;}
public string Title {get; set;}
public string Content {get; set;}
public DateTime? ReceivedTime {get; set;}
public DateTime? SendingTime {get; set;}
public List<DestinationView> Destinations {get; set;}
public List<LetterView> Responses {get; set;}
}
public class Destination
{
public int Id {get; set;}
public string Name {get; set;}
..
}
public class DestinationView
{
public int Id {get; set;}
public string Name {get; set;}
}
// The mapping:
CreateMap<Destination, DestinationView>
CreateMap<Letter, LetterView>
私の問題は、LetterViewにLetterViewをマッピングすることです。問題はレスポンスのどこかにありますが、私は何が変更されるべきかを理解できません。
単体テストを実行してマッピング設定をアサートすると、すべてが機能し、複数のレスポンスを持つ文字をビューモデルにマッピングすることができます。 しかし、データベースからのresposnes(Entity framework 6)で手紙を受け取ると、LetterViewへの投影によってstackoverflow例外がスローされます。
これはなぜ投影でのみ起こるのか誰にも教えてください。私は何を変えるべきですか?
スタックオーバーフローのスタックトレースがありますか? –