【发布时间】:2015-12-07 15:11:34
【问题描述】:
我发现我的员工版页面存在错误,我可以在其中更改有关选定员工的信息(姓名、登录名、密码等)
_service.Edit(objToEdit)
将我发送到以下版本:
public bool Edit(Employee objEmployee)
{
if (!Validate(objEmployee))
return false;
try
{
_repository.Edit(objEmployee);
}
catch
{
return false;
}
return true;
}
最后到以下地方保存更改:
public Employee Edit(Employee objEmployee)
{
var Original = Get(objEmployee.Login);
if (Original != null)
{
var attachedEmp = _entities.Entry(Original);
attachedEmp.CurrentValues.SetValues(objEmployee);
}
else
{
_entities.Employees.Add(objEmployee);
}
_entities.SaveChanges();
return objEmployee;
}
但是一旦我到达_entities.SaveChanges(),我就会收到以下错误:
UPDATE 语句与 FOREIGN KEY SAME TABLE 约束“FK_EmployeeEmployee2”冲突。冲突发生在数据库“CRAV34”、表“dbo.Employee”、列“登录”中。 声明已终止。
我查了一下,但找不到任何真正帮助我的东西。我最近用新员工更新了我的数据库,版本适用于旧员工,但似乎在新员工上出现此错误。
任何帮助将不胜感激!
【问题讨论】:
标签: c# sql asp.net-mvc sql-server-2008