自动映射 – 字典到对象映射不起作用?
我正在尝试将字典转换为对象。 我尝试了以下但它不起作用:
public class FormField { public string FieldName { get; set;} public string FieldValue { get; set;} } var formData = new List { new FormField {FieldName = "date", FieldValue = "2017-09-14"}, new FormField {FieldName = "name", FieldValue = "Job blogs"}, new FormField {FieldName = "isenabled", FieldValue = "true"} }; public class MyViewModel { [Required] public DateTime Date { get; set; } = DateTime.now; [Required] public string Name { get; set; } public boolean IsEnabled { get; set; } public IEnumerable Titles { get { var options = new List { new SelectListItem(){ Value = "Mr", Text = "Mr" }, new SelectListItem(){ Value = "Mrs", Text = "Mrs" } }; return options; } } }
Global.asax中:
protected void Application_Start() { Mapper.Initialize(cfg => {}); }
码
var viewModel = Mapper.Map(formData.ToDictionary(x => x.FieldName, x => (object) x.FieldValue))
注意我正在使用automapper 5.0.2。
它适用于最新的。 升级:)