À l'aide de Automapper de mettre à jour une Entité existante POCO

Je suis en utilisant EF4 DbContext de fournir un modèle pour ASP.NET MVC app. J'utilise Viewmodel pour fournir des données aux points de vue et Automapper pour effectuer le mappage entre les EF Poco et le Viewmodel. Automapper fait un excellent travail, mais je ne suis pas clair la meilleure façon de l'utiliser après le ViewModel est affecté au contrôleur pour effectuer la mise à jour.

Mon idée est d'obtenir POCO objet à l'aide d'une clé contenue dans le ViewModel. Je veux utiliser Automapper pour mettre à jour le POCO avec les données de la 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");
}

Deux questions:

  1. La méthode Find() retourne une Procuration plutôt que de un POCO qui provoque Automapper à se plaindre. Comment puis-je obtenir le POCO au lieu de le Proxy?
  2. Est cette meilleure pratique pour effectuer une mise à jour?
Cela peut vous aider: stackoverflow.com/questions/6156538/...
Je pense que c'est OK, élégant même. Vous d'utiliser le bon de surcharge de Mapper.Map.
Merci @Gert Arnold, a augmenté ma confiance dans cette approche.

OriginalL'auteur Paul Taylor | 2012-11-09