我遇到了AutoMapper无法正确映射到ViewModel和从我的ViewModel映射的问题。我的主要模型有一个名为Contact of Contact的复杂属性,然后在我的ViewModel上有一些名为Contact [PropertyName]的字段,其中一个例子是ContactFirst_Name。
就我可以找到的文档示例而言,这似乎是正确的,我基本上试图压扁/取消模型,但它不起作用。我确实在堆栈溢出的另一个线程中找到了“修复”,这意味着我添加了以下行
Mapper.Initialize(cfg => cfg.RecognizePrefixes("Contact"));
到我的映射,然后导致成功的双向绑定。这对我来说似乎不对,我的想法是我误解了默认服饰的工作方式?
我吗?
视图模型
public class EmployeeViewModel : MVViewModel
{
[Display(Name = "Title")]
public ContactTitleViewModel ContactTitle { get; set; }
[Display(Name = "First Name")]
public string ContactFirst_Name { get; set; }
public string ContactMiddle_Names { get; set; }
public string ContactLast_Name { get; set; }
public string ContactEmail_Address { get; set; }
public string Position { get; set; }
[TableFields("Name")]
public List<EmployeeTrainingViewModel> Training { get; set; }
}
最小SQL模型
public class Employee : ISQLObject
{
public Contact Contact { get; set; }
public string Position { get; set; }
public virtual List<EmployeeTraining> Training { get; set; }
}
public class Contact : ISQLObject
{
public ContactTitle Title { get; set; }
public string First_Name { get; set; }
public string Middle_Names { get; set; }
public string Last_Name { get; set; }
}