当我尝试在更新功能中更新我的条目时,它已成功执行但数据库未更新。
请找到以下代码
public static string UpdateEmployee(Employee employee)
{
using (var db = new RandDEntities())
{
var empObj = db.Employees.First(x => x.EmpID == employee.EmpID);
db.Entry(empObj).State = EntityState.Modified;
db.SaveChanges();
}
return "";
}
答案 0 :(得分:2)
问题是您正在保存错误的实体(即empObj
)而不是具有更改的实体(即employee
)。您的代码将empObj
拉出数据库,然后转身并保存,而不对其进行任何更改。您需要按如下方式修改代码:
public static string UpdateEmployee(Employee employee)
{
using (var db = new RandDEntities())
{
db.Employees.Attach(employee);
db.Entry(employee).State = EntityState.Modified;
db.SaveChanges();
}
return "";
}
答案 1 :(得分:0)
这与Entity Framework完全无关,但更多的是因为您可能使用localdb并且您的数据库不在您认为的位置,并且每次按下start时重新初始化(重置)为空。
这个问题,在几十个变种中,被人们问到并且没有打扰检查它们的外观(然后意识到数据库文件有不同的路径)。