私は最初の非例のオーチャードモジュールの開発に忙しい。これは、カスタム(EF)データアクセスを備えた少数のコントローラーとビューであり、Orchardのコンテンツタイプとパーツにほとんど依存していません。通常、Application_Startハンドラーでマッピングを設定しますが、このMVCモジュールのアクションはOrchardアプリケーションのコンテキストで呼び出されるため、そのエントリポイントはなくなりました。私の最も明白で即時の解決策は、マッピングの初期化をマップされたビューモデルの静的コンストラクターに移動することです。
public class ApplicantPersonalDetailsModel : MappedViewModel<Applicant>
{
static ApplicantPersonalDetailsModel()
{
Mapper.CreateMap<Applicant, ApplicantPersonalDetailsModel>().Bidirectional();
}
....
}
他にどのようにこれを行うことができますか?一般的にMVC3/4でこれを行うためのより良い方法はありますか、またはできれば、アプリケーションの起動時にこれを達成するためにOrchardアプリケーションで取得できるイベントまたはフックはありますか?