я следующий метод в моем MVC контроллер:метод контроллера не обновляется (тот же результат каждый раз)
[HttpGet]
public ActionResult UserProfile(String username)
{
var user = db.Users.Find(username);
return View(user);
}
Эта функция возвращает Просмотр с профилем пользователя. Но результат такой же, независимо от изменений в базе данных.
Когда я отлаживаю, похоже, что db
не меняется вообще, в то время как в других контроллерах все работает нормально.
EDIT: Место, когда я делаю изменения
public ActionResult ExecuteRetreive(String username, String ISBN)
{
if (IsValid(username))
{
var resBook = db.Books.Find(ISBN);
var resUser = db.Users.Find(username);
var resRentedBooks = (from rb in db.RentedBooks
join b in db.Books on rb.ISBN equals b.ISBN
where b.ISBN == ISBN
where rb.Login == username
where rb.Returned == null
select rb).FirstOrDefault();
if (resRentedBooks == null)
{
return RedirectToAction("Fail", "FailSuccess",
new { error = "" });
}
resRentedBooks.Returned = DateTime.Now;
resBook.IsRented = false;
resUser.RentedBooks--;
db.SaveChanges();
return RedirectToAction("Success", "FailSuccess");
}
else
{
return RedirectToAction("Fail", "FailSuccess",
new { error = "Niepoprawna nazwa użytkownika" });
}
}
Im новой для этого, так что не смеяться над моим кодом: P Когда я показываю resUser.RentedBooks--;
это одно и то же каждый раз.
Вы уверены, что вызываете 'SaveChanges()' на свой объект 'DatabaseContext'? –
Что вы ожидаете изменить в базе данных? Вы ничего здесь не меняете. Отправьте код, в котором вы внесете изменения. – ataravati
yes, но mby это поможет, когда я скажу, что этот контекст является статичным в каждом контроллере. – Kmaczek