我的问题的代码示例:
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
的数据。
我的viewmodel具有FirstName
,LastName
,MRN
,DOB
和PatientId
的属性。除了在PatientId
中名为Id
的{{1}}之外,属性名称在域对象和视图模型中匹配。
如何让AutoMapper使用Visit.Patient
中的值填充我的viewmodel属性?谢谢!
解决方案 - 在这里添加,因为我无法回答我自己的问题...
它被称为展平,我刚刚发现了一段视频here
基本上,这就是我想要的:
Visit.Patient
答案 0 :(得分:0)
它被称为展平,我刚刚发现了一段视频here
基本上,这就是我想要的:
Mapper.CreateMap<TestDataAnimal, TestDataAnimalViewModel>()
.ForMember(d => d.FirstName, opt => opt.MapFrom(s => s.Visit.Patient.FirstName));
* 在发布后不久找到了我自己问题的答案,但SO说我无法回答我自己的问题。现在,我几个小时都无法接受我自己的答案。