无法从表中删除行

时间:2012-06-07 06:13:49

标签: c# entity-framework

我正在尝试从表中删除一行

我的代码:

var strUsername = GridMain.SelectedRows[0].Cells[0].Value.ToString().Trim();
Users selectedUser = _db.Users.First(usr => usr.UserName == strUsername);

_db.DeleteObject(selectedUser);
_db.SaveChanges();

LoadGrid(PresentationMode.Users);

我的代码工作正常

但是对于只有一行数据库,SaveChanges()

会发生错误

错误讯息:

  

更新条目时发生错误。请参阅InnerException   详情

发生错误的行:

enter image description here

内部例外:

  

DELETE语句与REFERENCE约束冲突   “FK_UserReport_Users”。冲突发生在数据库中   “Reporter”,表“dbo.UsersReports”,列“UserName”。

2 个答案:

答案 0 :(得分:2)

此行在UserReport表中可用/引用。因此,除非您启用了级联删除选项,否则无法将其删除。或者删除UserReport中的行并再次尝试删除。

答案 1 :(得分:1)

UserReport Table中存在引用。因此您无法删除父表值。首先删除父子关系或使用级联删除选项