在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