使用Entity Framework在ASP.Net网站中删除记录时出错

时间:2012-12-27 10:10:37

标签: asp.net sql-server entity-framework

我在Visual Studio 2012中使用asp.net中的Entity Framework。我只是在学习这些东西。我遵循了tutorial

刚刚创建了网格并运行了网站,除了删除操作外,一切都很好。当我点击删除时,它会显示如下错误:

enter image description here

有人会告诉我为什么我会收到此错误以及如何纠正此错误。 。

提前致谢

3 个答案:

答案 0 :(得分:3)

您的问题的答案在您的教程中给出。 (仅当您使用相同的表和相同的约束时才适用) 在“修改EntityDataSource控制标记以提高性能”下

  

删除按钮也有效。对具有注册日期且行消失的行单击“删除”。 (没有注册日期的行代表教师,您可能会得到参照完整性错误。在下一个教程中,您将过滤此列表以仅包括学生。)

您正在获取参照错误意味着您没有在删除操作中使用级联,因此当您删除person表中的行时,因为学生成绩表中引用了相同的列。所以删除不会发生。使用级联 - ON DELETE CASCADE。

答案 1 :(得分:1)

好像你想从学校引用的课程讲师中删除一个人。

答案 2 :(得分:0)

这是一个非常明确的错误消息,快速谷歌可以帮助您更快地解决。

表CourseInstructor与Table Person具有外键关系。在EF图表中,您可以将其视为关系(两个实体之间的一条线)。

当CourseInstructor仍然引用Person时,数据库不允许您删除Person,因此您需要首先删除相关的CourseInstructor,理想情况下是作为事务的一部分。

如果你真的在努力寻找“参照完整性”和“实体框架中的参照完整性”。

希望这有助于一些人。