在Visual Studio 2012不選擇最近更新的價值觀,我有項目#1,創建並使用EF 6EF 6除非我重建項目
而另一項目#2是應該在一個SQL數據庫更新項只有選擇創建/從項目#1
更新的值這兩個項目有一個連接字符串到本地數據庫
兩個項目引用包含的.edmx文件和生成的模型數據訪問層庫。
http://localhost:1535/Project1:應創建或編輯 支付實體條目
http://localhost:1896/Project2:應該從付款 實體
選擇價值觀的問題是:當我在不同的本地主機端口上運行這兩個應用程序我可以創建一個條目和s從其他項目中選出它
但是當我想更新一個條目時,我總是看到OLD值。只有當我在Visual Studio 2012中重建Project#2時,我才能看到更新後的值。
編輯操作
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Prefix = "paymentform")] PaymentForm paymentform)
{
if (ModelState.IsValid)
{
Payment payment = db.Payments.Find(paymentform.formId);
payment.paymenturl = paymentform.paymenturl;
db.Entry(payment).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(new PaymentConfig());
}
這是怎麼回事?
對象跟蹤是否被禁用? – ViRuSTriNiTy
@ViRuSTriNiTy,我不知道你如何啓用/禁用它?它默認設置爲true嗎? –
有關更改檢測的非常詳細的教程可以在這裏找到:https://blog.oneunicorn.com/2012/03/10/secrets-of-detectchanges-part-1-what-does-detectchanges-do/。另外,您應該啓用日誌記錄來查看更改付款時是否執行了「UPDATE」SQL語句。如果沒有,那麼對象跟蹤很可能被禁用:https://msdn.microsoft.com/en-us/data/dn469464.aspx – ViRuSTriNiTy