【发布时间】:2011-02-21 18:39:06
【问题描述】:
我可以按照下面的函数更新我的员工记录,还是必须先查询员工集合然后更新数据?
public int updateEmployee(App3_EMPLOYEE employee)
{
DBContextDataContext db = new DBContextDataContext();
db.App3_EMPLOYEEs.Attach(employee);
db.SubmitChanges();
return employee.PKEY;
}
或者我必须执行以下操作吗?
public int updateEmployee(App3_EMPLOYEE employee)
{
DBContextDataContext db = new DBContextDataContext();
App3_EMPLOYEE emp = db.App3_EMPLOYEEs.Single(e => e.PKEY == employee.PKEY);
db.App3_EMPLOYEEs.Attach(employee,emp);
db.SubmitChanges();
return employee.PKEY;
}
但我不想使用第二个选项。有什么有效的方法来更新数据吗?
我在使用这两种方法时都遇到了这个错误:
已尝试附加或添加一个不是新的实体,可能是从另一个 DataContext 加载的。这不受支持。
【问题讨论】:
-
在第二种方法中,您将实体附加到上下文,因为它已经从中填充。只需调用 SubmitChanges()
标签: c# asp.net linq linq-to-sql datacontext