1
我目前有一個從Application_Start
調用的方法RegisterMaps
。我應該在哪裏創建我的AutoMapper映射?
public static class AutoMapperRegistrar
{
public static void RegisterMaps()
{
Mapper.CreateMap<Employee, EmployeeEditModel>();
Mapper.CreateMap<Employee, EmployeeCreateModel>();
}
}
我也有一個MappedViewModel
基類,我大部分的視圖模型的派生自:
public class MappedViewModel<TEntity>: ViewModel
{
public virtual void MapFromEntity(TEntity entity)
{
Mapper.Map(entity, this, typeof(TEntity), GetType());
}
}
現在保持映射的一長串RegisterMaps
對我產生一點摩擦。我正在考慮將地圖創建委託給一個靜態構造函數MappedViewModel
。我能否安全地做到這一點,即是否會對性能產生負面影響?還是有其他理由不再需要面向對象並讓每個映射類創建自己的地圖?
恐怕你的代碼是有點在我頭上。我假設你的綁定和相關的調用是Ninject特定的,並且我絕對沒有Ninect的知識。 – ProfK
如果你還不知道,我強烈建議學習依賴注入。是的,這些都是ninject綁定,它是我選擇的二元庫,你應該玩耍並找到你喜歡的一個。 – Betty
我的代碼的主要拿走點不是ninject位,它是使用automapper配置文件並通過反射而不是手動加載它們。 – Betty