3

私の質問のコードサンプル:

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あります。で命名された を除いて、プロパティ名はドメイン オブジェクトとビューモデルで一致します。LastNameMRNDOBPatientIdPatientIdIdVisit.Patient

で見つかった値をビューモデルのプロパティに設定するには、AutoMapper を取得するにはどうすればよいVisit.Patientですか? ありがとう!

解決策 - 自分の質問に答えられないため、ここに追加しました...

それは平坦化と呼ばれ、ここでビデオを見つけました

基本的に、これは私が欲しいものです:

Mapper.CreateMap<TestDataAnimal, TestDataAnimalViewModel>()
.ForMember(d => d.FirstName, opt => opt.MapFrom(s => s.Visit.Patient.FirstName));
4

1 に答える 1

0

それは平坦化と呼ばれ、ここでビデオを見つけました

基本的に、これは私が望むものです:

Mapper.CreateMap<TestDataAnimal, TestDataAnimalViewModel>()
.ForMember(d => d.FirstName, opt => opt.MapFrom(s => s.Visit.Patient.FirstName));

*ここに投稿した直後に自分の質問への回答が見つかりましたが、SOは自分の質問に答えることができないと言っていました。今、私は自分の答えを数時間受け入れることができません。

于 2012-06-22T13:18:02.953 に答える