1
我在我的ASP.NET MVC應用程序中使用AutoMapper 6.0在實體和視圖模型之間進行映射。實體正在使用字節[8]版本屬性,但視圖模型正在使用ulong版本屬性。由於不同的屬性類型,默認映射將忽略該字段,並以視圖模型的默認值(即0)結束。所有映射的自定義AutoMapper名稱/類型約定?
目前,我在每個_mapper.Map(entity,viewModel)之後調用下面的代碼:
_mapper.Map(entity,viewModel);
viewModel.Version = System.BitConverter.ToUInt64(entity.Version.ToArray(), 0);
如何在初始化期間配置AutoMapper,以便不需要第二行?
我有上百個車型所以不是用ForMember(CFG)配置中創建自定義地圖,我想修改AutoMapper約定,以便上述轉換的類型發生在默認情況下爲每個地圖,如:
public class MyCustomProfile : AutoMapper.Profile
{
public MyCustomProfile()
{
CreateMissingTypeMaps = true;
//use custom converter for this convetion: ulong vVersion = BitConverter.ToUInt64(eVersion.ToArray(), 0);
}
}
幾乎完美!謝謝!你已經解決了這個謎題。 你能否用上面例子的正確代碼來編輯你的答案? CreateMap()。ConvertUsing(x => BitConverter.ToUInt64(x,0));謝謝! –
komsky