Webプロジェクト(コントローラ/ビュー/スクリプト)、サービスプロジェクト(ビジネスレイヤー、ビューモデルを構築する)、リポジトリプロジェクト(データアクセスレイヤー)を持つMVCソリューションを構築しています。複数のプロジェクトでAutoMapを設定する
私は過去に私のプロジェクトでAutoMapperを使用しているし、この溶液中AutoMapperを設定しようとしています。通常、私はGlobal.asax.cs
で呼び出されMapperConfig.cs
の私のすべてのマップを設定します。
私の問題は、私が通常AutoMapperを構成するウェブプロジェクトは、サービスプロジェクトへの参照しか持たず、サービスプロジェクトはデータプロジェクトへの参照しか持たないということです。だから、いつものようにマップを設定すると、データプロジェクトの参照がないWebプロジェクトのために、データプロジェクトのマップを定義できません。データプロジェクトの参照をWebプロジェクトに追加せずにデータアクセスレイヤーマップを構成する方法が必要です。
プロジェクトの依存関係図は、以下のようになります。
のWebメニュープロジェクト - >サービスメニュープロジェクト - >データメニュープロジェクト
どのように私はこれを克服することができますか?
は、なぜあなたは、自動マッパーのための唯一の設定を持つようにしたいですか? すべてのレイヤにまたがるクラス/ dtosは本当にありますか? – ironstone13
私はすべてのレイヤーにまたがるクラスはありません。私はプロジェクト単位でマップを定義する方法を見つけることができませんでした - それは私が克服しようとしているものです。 Ninjectを使って、私は 'NinjectModule'を継承した各プロジェクトでクラスを作成しました。 // stackoverflowの:HTTPSを参照してください - あなたはAutoMapper例を投稿することができた場合、私は喜んで – GregH
どのように各プロジェクトにマップを初期化だろう静的コンストラクタを使用する方法についてを受け入れます。com/questions/30136415/where-to-place-automapper-maps-in-referenced-dll – ironstone13