我很忙於開發我的第一個非示例性果園模塊。它是少數控制器和視圖,具有自定義(EF)數據訪問權限,並且在很大程度上獨立於Orchard內容類型和部分。通常我在Application_Start處理程序中設置映射,但由於此MVC模塊中的操作將在Orchard應用程序的上下文中調用,因此我不再具有該入口點。我最明顯而直接的解決方案是將映射初始化移動到映射視圖模型的靜態構造函數中,例如我在哪裏可以初始化Orchard模塊中的AutoMapper映射?
public class ApplicantPersonalDetailsModel : MappedViewModel<Applicant>
{
static ApplicantPersonalDetailsModel()
{
Mapper.CreateMap<Applicant, ApplicantPersonalDetailsModel>().Bidirectional();
}
....
}
我該怎麼辦?在MVC3/4中有沒有更好的方法來實現這一點,或者最好是我可以在Orchard應用程序中抓取的事件或鉤子,以便在應用程序啓動時實現此目的?
'InitPartRecord'然後可以是一個虛擬的,即空的類嗎? Orchard是否在所有處理程序上調用Init,還是必須在某處註冊一個零件,即使我沒有編寫其他代碼來定義它? –
ProfK
是的,它可以.InitPartHandler將通過簡單地從ContentHandler驅動訂閱處理程序列表,並且InitPart和InitPartRecord將是您提到的虛擬類。請參閱我的編輯。 –