我的问题的代码示例:
IList<TestDataAnimal> testDataFromDb = this.db.TestDataAnimals.Include(t => t.TestType).Include(t => t.Visit).Include(t => t.Visit.Patient).ToList();
Mapper.CreateMap<TestDataAnimal, TestDataAnimalViewModel>();
IList<TestDataAnimalViewModel> viewModelList = Mapper.Map<IList<TestDataAnimal>, IList<TestDataAnimalViewModel>>(testDataFromDb);
在上面的代码中,testDataFromDb
返回我需要的所有数据。到目前为止,一切都很好......我知道我从数据库中获取了所有正确的数据。问题是viewModelList
没有填充来自Visit.Patient
.
我的视图模型具有FirstName
、LastName
、MRN
、DOB
和的属性PatientId
。除了在PatientId
中命名Id
的Visit.Patient
,属性名称在域对象和视图模型中匹配。
如何让 AutoMapper 使用中找到的值填充我的视图模型属性Visit.Patient
?谢谢!
解决方案 - 在这里添加是因为我无法回答我自己的问题......
这叫做扁平化,我刚刚在这里找到了一个视频
基本上,这就是我想要的:
Mapper.CreateMap<TestDataAnimal, TestDataAnimalViewModel>()
.ForMember(d => d.FirstName, opt => opt.MapFrom(s => s.Visit.Patient.FirstName));