我試圖改進我的MVC 3模型和視圖(主要是CRUD)之間的數據流。我採取了使用ViewModels和FormModels的方法。我的ViewModel包含了表示視圖FormData,DropDownLists等所需的一切。FormModel只包含表單提交的FormData字段,這些字段是更新記錄所需的。AutoMapper可以將對象映射到相同類型的模型屬性
我的問題是我可以使用AutoMapper將UserDto信息映射到我的ViewModel中的FormData字段?
顯然我的下面的映射只是在兩個對象之間進行映射,而不是對象到屬性,但我嘗試過使用'.ForMember'映射選項,但它們又是對象成員而不是對象成員。我也看過自定義類型轉換器,但不知道這是否正確。
Mapper.CreateMap<UserDto, UserViewModel>();
Mapper.CreateMap<UserViewModel, UserDto>();
public class UserViewModel
{
public User FormData { get; set; }
// DropDownLists
// Other view specific data
}
public class UserFormModel
{
public int UserId { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Age { get; set; }
[Required]
public string Email { get; set; }
}
任何幫助將不勝感激。
你有什麼錯誤嗎?什麼是確切的問題? – Kangkan
當我驗證AutoMapper配置有效與Mapper.AssertConfigurationIsValid();它告訴我FormData字段沒有被映射,我需要添加一個自定義映射表達式,忽略或重命名我知道的屬性。我只需要了解我是如何完成映射的。如果沒有,我只是手動地圖? – Cragly
是的,對於每種類型,您需要進行映射。 – Kangkan