私の質問のコードサンプル:
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));