私は、AutomapperをASP.NET MVCソリューションとUnity DIで使用する予定です。どのように使用するかについてautomapperに投稿されたビデオは非常に古いものであり、マッパーが依存性注入でどのように使用できるかを示していません。 stackoverflowのほとんどの例では、Mapper.CreateMap()メソッドも使用されていますが、現在は推奨されていません。AutomapperとUnity Dependency Injectionの併用方法は?
automapperガイドは、あなたのタイプを持っていたら、あなたは MapperConfigurationインスタンスとCreateMapを使用して2つのタイプのマップを作成することができます
を言います。通常はAppDomainごとに1つだけ MapperConfigurationインスタンスが必要で、起動時に がインスタンス化される必要があります。
var config = new MapperConfiguration(cfg => cfg.CreateMap<Order, OrderDto>());
ので、私はコードの行の上に想定していますと、CreateMapperメソッドを使用IMapperを作成し、マッピングを実行するにはGlobal.asaxの
のように、アプリケーションの起動になります。
var mapper = config.CreateMapper();
OrderDto dto = mapper.Map<OrderDto>(order);
上記の行はコントローラに入ります。しかし、私はこのconfig
の変数がどこから来るのか理解していませんか?私はIMapperをコントローラにどのように注入するのですか?
「IMapper」とマッパーインスタンスの間でマッピングするようにコンテナを設定する必要があります。次に、コンストラクタで 'IMapper'を受け入れることによって、コントローラから' IMapper'への依存関係を宣言する必要があります。 –
どのような例ですか?マップする必要がある各エンティティに対して、新しいMapperConfiguration()が存在するのでしょうか?例は本当に助けになるだろう – LP13