我有問題,看來我的模型在數據庫更改後沒有更新。我有一個列表,每個列表都有批准或拒絕的按鈕。數據庫更改後型號沒有更新
using (Html.BeginForm("LeaveProcess", "Admin", FormMethod.Post, new { @class = "form-horizontal" }))
{
<input type="text" name="LvAppId" hidden value="@item.LvAppId">
<li><button type="submit" class="btn btn-link" name="AppVal" value=true data-confirm="are u sure?" >Approve</button></li>
<li><button type="submit" class="btn btn-link" name="AppVal" value=false >Reject</button></li>
}
當我按批准或拒絕按鈕時,提交按鈕的值去控制器
[HttpPost]
public ActionResult LeaveProcess(string LvAppId, bool AppVal)
{
DataChange.UpdateStatusFromAdmin(LvAppId, AppVal);
TempData["AlertMessage"] = "Your Action Has Been Processed";
return RedirectToAction("Index");
}
和更新數據庫列到「批准」或「拒絕」。
public static void UpdateStatusFromAdmin(string LvAppId, bool AppVal)
{
if (AppVal == true)
{
db.Database.ExecuteSqlCommand("UPDATE LeaveApps SET Status='Approved' WHERE LvAppId={0}", LvAppId);
}
else
{
db.Database.ExecuteSqlCommand("UPDATE LeaveApps SET Status='Rejected' WHERE LvAppId={0}", LvAppId);
}
}
數據庫進行更新(與SSMS檢查的話),但是當我重新加載頁面,價值仍然沒有更新,我必須重新啓動Visual Studio中,使其更新調試,我應該怎麼辦?謝謝
你是如何管理你的數據庫上下文的生命週期?你是否在做類似於:使用(var db = new DatabaseContext()){//在此處執行數據訪問}請參閱:https://msdn.microsoft.com/en-gb/data/jj729737.aspx – 2016-06-10 09:04:36
嗯,我使用它像這樣: private static UserContext db = new UserContext();然後調用它: var Employee = db.Employee.SqlQuery 這是錯的嗎?和我的情況有什麼關係? – Fimblutterr
如果您確信查詢是正確的,並且您可以看到使用ssms對後端進行的更改,但這些更改未反映在您的應用中。我認爲這是一個很好的跡象表明,上下文。它看起來像你沒有像上一個註釋那樣正確處理上下文中的數據訪問,並且鏈接會自動處理它......如果這樣不能解決你的問題,我會聚焦在您的查詢 – 2016-06-10 09:39:08