Как обновить базу данных, прикрепив модель к DataContext - PullRequest
0 голосов
/ 21 декабря 2011

Я создаю веб-сайт с использованием MVC 3 Framework. У меня есть Linq to SQL DataContext для обработки доступа к данным. Согласно тому, что я узнал, вы можете использовать метод post для получения информации о форме, когда пользователь отправляет форму и MVC frmaework может сопоставить данные с модельным объектом. как то так:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(Entity model)

Но у меня проблема с присоединением этого объекта модели к объекту контекста данных. Вот что я делаю:

[AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Edit(Entity model)
    {

        if(ModelState.IsValid)
        {
            _dataContext.Attach(model);
            _dataContext.SubmitChanges();
            return RedirectToAction("Index");
        }
        return View("Edit", model);
    }

Но ничего не происходит. Что я делаю не так?

1 Ответ

0 голосов
/ 21 декабря 2011

Проблема в том, что ваш _dataContext не знает, что ваша сущность изменилась. Таким образом, вам придется использовать перегрузку , которая устанавливает измененное как истинное значение:

_dataContext.Attach(model, true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...