Пример кода для моего вопроса:Как мне получить 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
.
Мой ViewModel имеет свойства FirstName
, LastName
, MRN
, DOB
и PatientId
. За исключением PatientId
, который имеет имя Id
в Visit.Patient
, имена свойств соответствуют объектам домена и viewmodel.
Как получить AutoMapper для заполнения моих свойств viewmodel со значениями, найденными в Visit.Patient
? Благодаря!
РЕШЕНИЕ - Добавлен здесь, потому что я не могу ответить на мой собственный вопрос ...
Это называется уплощение и я нашел видео here
В принципе, это то, что я хочу:
Mapper.CreateMap<TestDataAnimal, TestDataAnimalViewModel>()
.ForMember(d => d.FirstName, opt => opt.MapFrom(s => s.Visit.Patient.FirstName));
Решение добавлено до конца вопроса ... – user1469655
Вы должны добавить свое решение в качестве ответа. – jrummell
Вы также можете использовать вложенное сопоставление для сохранения внутренних коллекций –