Mit Automapper zum aktualisieren einer vorhandenen Entität POCO

Ich bin mit EF4 DbContext zu bieten, das Modell für eine ASP.NET MVC-app. Ich ViewModels verwenden, um Daten zu liefern, um die Ansichten und Automapper, führen Sie die Zuordnung zwischen den EF-POCOs und die ViewModels. Automapper macht einen tollen job, aber ich bin mir nicht klar, der beste Weg, es zu benutzen, nachdem das ViewModel gebucht wird zurück an den controller ein update.

Meine Idee ist to get POCO-Objekt mit einem Schlüssel im ViewModel. Dann möchte ich verwenden Automapper zu aktualisieren POCO mit Daten aus dem 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");
}

Zwei Fragen:

  1. Die Find () - Methode gibt einen Proxy, anstatt einem POCO wodurch Automapper zu beschweren. Wie bekomme ich die POCO, anstatt den Proxy?
  2. Ist diese best practice für die Durchführung eines update?
Dies könnte helfen: stackoverflow.com/questions/6156538/...
Ich denke, das ist OK, elegant sogar. Verwenden Sie die richtige überlastung der Mapper.Map.
Danke @Gert Arnold, erhöht mein Vertrauen in diesen Ansatz.

InformationsquelleAutor Paul Taylor | 2012-11-09

Schreibe einen Kommentar