Почему данные не сохраняются при использовании SubmitChanges? - PullRequest
0 голосов
/ 01 декабря 2011

Использование MVC для создания записи базы данных типа Player:

[HttpPost]
public ActionResult Create(FormCollection fc, Player player)
{
    players.Players.InsertOnSubmit(player);
    players.SubmitChanges();

    Errors errors;
    if (!IsValid(player, out errors))
    {
        ViewBag.Errors = errors;
        return RedirectToAction("Edit", player);
    }

    return Redirect("/Home/Players");
}

[HttpPost]
public ActionResult Edit(FormCollection fc, Player player)
{
    players.SubmitChanges();

    return Redirect("/Home/Players");
}

Моя проблема в том, что players.SubmitChanges() в методе Edit ничего не меняет в базе данных.Использование InsertObSubmit в Create works.Должен ли я сделать это по-другому?

Ответы [ 2 ]

1 голос
/ 01 декабря 2011
[HttpPost]
public ActionResult Edit(FormCollection fc, Player player)
{
    // I guess you are forgetting this
    players.Players.AttachAsModified(player)

    players.SubmitChanges();

    return Redirect("/Home/Players");
}
0 голосов
/ 01 декабря 2011

Когда вы получаете значение Player в качестве входного параметра для действия Edit, вы должны сначала соответствующим образом изменить свою коллекцию players - это не произойдет автоматически - и только затем выполните players.SubmitChanges();

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