【发布时间】:2017-01-06 21:44:42
【问题描述】:
当我尝试从实体框架更新记录时,该记录正在从表中删除。没有抛出任何错误,所以我真的很困惑正在发生的事情。
我对实体框架和 asp.net 还很陌生。我已经学习了大约一个月了。
我可以从 SQL Server 更新记录而不会出现任何问题,但不能从 vs 更新记录。这是更新数据库的代码:
// GET: /Scorecard/Edit/5
public ActionResult Edit(int id, string EmployeeName)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
CRS_Monthly crs_monthly = GetAgentById(id);
crs_monthly.EmployeeName = EmployeeName;
if (crs_monthly == null)
{
return HttpNotFound();
}
return View(crs_monthly);
}
// POST: /Scorecard/Edit/5
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include="REC_ID,Cur_Plan,Plan_Update,Comments,Areas_Improve,Strengths,UPDATED_BY,UPDATED_TIME,Agent_Recognition")] CRS_Monthly crs_monthly)
{
if (ModelState.IsValid)
{
crs_monthly.UPDATED_TIME = DateTime.Now;
crs_monthly.UPDATED_BY = Request.LogonUserIdentity.Name.Split('\\')[1];
db.Entry(crs_monthly).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(crs_monthly);
}
当我运行调试器时,crs_monthly 是有效的并且在 db.SaveChanges() 之前看起来很好。非常感谢任何帮助!
【问题讨论】:
-
那么,比如你前后运行
SELECT COUNT(*),表中少了一条记录?也许它被更新为意想不到的东西而不是被删除
标签: sql asp.net-mvc entity-framework