0

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

我的代码:

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

发生错误的行:

在此处输入图像描述

内部异常:

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

4

2 回答 2

2

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

于 2012-06-07T06:27:04.540 回答
1

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

于 2012-06-07T06:32:01.657 回答