MVC 3 - Обновление строки таблицы с помощью модели EDMX - PullRequest
1 голос
/ 03 ноября 2011

Я пробовал несколько способов обновить объект в моей базе данных.Я также прочитал пару вопросов здесь и на других форумах, касающихся обновления данных.Но кроме одного способа у меня больше ничего не работает.

Что работает?Если я обновлю все атрибуты вручную, это будет работать.Примерно так:

[HttpPost]
public ActionResult UpdateModel(Person person)
{
    DBEntities db = new DBEntities();
    var p = db.PERSON.Single( x=> x.ID == person.ID);
    p.NAME = person.NAME;
    p.AGE = person.AGE;
    db.SaveChanges();
}

Но для моделей с большим количеством атрибутов это на самом деле не вариант.Могу ли я сделать что-то похожее на это?

[HttpPost]
public ActionResult UpdateModel(Person person)
{
    DBEntities db = new DBEntities();
    var p = db.PERSON.Single( x=> x.ID == person.ID);
    p = person;
    db.SaveChanges();
}

Я знаю, что есть много вопросов, похожих на мои, но я просто не могу позволить, чтобы это сработало для меня.

1 Ответ

1 голос
/ 03 ноября 2011
[HttpPost]
public ActionResult UpdateModel(Person person)
{
    DBEntities db = new DBEntities();
    var p = db.PERSON.Single( x=> x.ID == person.ID);
    TryUpdateModel(p); <--here is the change i made
    db.SaveChanges();
}

http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.tryupdatemodel.aspx

...