Я использую EF4 DbContext, чтобы предоставить модель для приложения ASP.NET MVC. Я использую ViewModels для предоставления данных представлениям и Automapper для выполнения сопоставления между EF POCO и ViewModels. Automapper отлично справляется со своей задачей, но я не знаю, как лучше всего его использовать после того, как ViewModel отправляется обратно в контроллер для выполнения обновления.
Моя идея - получить объект POCO, используя ключ, содержащийся в ViewModel. Затем я хочу использовать Automapper для обновления POCO данными из ViewModel:
[HttpPost]
public ActionResult Edit(PatientView viewModel)
{
Patient patient = db.Patients.Find(viewModel.Id);
patient = Mapper.Map<ViewModel, Patient>(viewModel, patient);
...
db.SaveChanges();
return RedirectToAction("Index");
}
Два вопроса:
- Метод Find () возвращает прокси, а не POCO, что вызывает жалобу Automapper. Как мне получить POCO вместо прокси?
- Это лучший способ выполнить обновление?
Mapper.Map
. - person Gert Arnold   schedule 12.11.2012