3
代碼示例我的問題:如何讓AutoMapper填充我的視圖模型?
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
(Visit.Patient
中名爲Id
)之外,域對象和視圖模型中的屬性名稱匹配。
如何讓AutoMapper使用Visit.Patient
中的值填充我的viewmodel屬性?謝謝!
的解決方案 - 在這裏增加了,因爲我不能回答我的問題...
這就是所謂的扁平化,我只是找到了一個視頻here
基本上,這是我想要的東西:
Mapper.CreateMap<TestDataAnimal, TestDataAnimalViewModel>()
.ForMember(d => d.FirstName, opt => opt.MapFrom(s => s.Visit.Patient.FirstName));
解決方法添加到問題的結尾... – user1469655
您應該添加您的解決方案作爲答案。 – jrummell
你也可以使用嵌套映射來保存內部集合 –