AutoMapper を使用して、Linq-To-SQL で生成されたエンティティを DTO にマッピングしています。
最初に単体テストを作成したとき、特定のマップを (静的構成クラスを介して) セットアップして、1 つのタイプの EntitySet を汎用の List に (およびその逆に) 変換しました。
Mapper.CreateMap<EntitySet<Member>, List<MemberDTO>>();
Mapper.CreateMap<List<MemberDTO>, EntitySet<Member>>();
リストの変換を削除すると (AutoMapper がこれらを自動的に変換することを理解すると)、単体テストは引き続き機能しましたが、クロールが遅くなりました。非常に遅く、各テストを実行するのに文字通り 1 分かかりました。
リスト マッピングを再度追加した後、単体テストは通常のパフォーマンス速度に戻りました。
リストの変換をマップする必要があるように、リストの自動変換をオフにする方法はありますか? Map を含めなかった場合に AutoMapperException をスローするようにしたいと思います。これらのパフォーマンスの問題を回避したいと思います。
さらに悪いことに、DTO に基づいてマッピング構成クラスを自動的に作成するための簡単なコード生成テンプレートを作成することになるかもしれません。そうすれば、私は何も見逃すことはありません。
ありがとう。