4 Stimmen

Entity Framework mit ASP.NET MVC

Wie kann ich stark typisierte Controller mit EntityObjects verwenden?

Meine Misserfolge...

Zuerst habe ich dies versucht:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(Guid id, Department Model)
{
    db.SaveChanges();
    return RedirectToAction("Index");
}

Dadurch konnten keine Änderungen in der Datenbank gespeichert werden. Also habe ich versucht, das Modell an meinen ObjectContext anzuhängen:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(Guid id, Department Model)
{
    db.Attach(Model);
    db.SaveChanges();
    return RedirectToAction("Index");
}

Dies schlug fehl, weil "ein Objekt mit einem Null-EntityKey-Wert nicht mit einem Objektkontext verbunden werden kann". Also habe ich versucht, den EntityKey zuzuweisen:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(Guid id, Department Model)
{
    Model.EntityKey = (from Department d in db.Department
                       where d.Id == id
                       select d).FirstOrDefault().EntityKey;
    db.Attach(Model);
    db.SaveChanges();
    return RedirectToAction("Index");
}

Dies schlug fehl, weil "ein Objekt mit demselben Schlüssel bereits im ObjectStateManager vorhanden ist. Der ObjectStateManager kann nicht mehrere Objekte mit demselben Schlüssel verfolgen."

Wie soll das funktionieren?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X