Могу ли я обновить свою запись сотрудника, как указано в приведенной ниже функции, или мне нужно сначала сделать запрос коллекции сотрудников, а затем обновить данные?
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. Это не поддерживается.