1

我在 Visual Studio 2012 的 asp.net 中使用实体框架。我只是在学习这些东西。我跟着这个教程

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

在此处输入图像描述

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

提前致谢

4

3 回答 3

3

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

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

您收到引用错误意味着您没有在删除操作中使用级联,因此当您删除人员表中的一行时,因为在学生成绩表中引用了同一列。所以删除不会发生。使用级联 - ON DELETE CASCADE。

于 2012-12-27T10:27:35.657 回答
1

好像您想从学校推荐的 CourseInstructor 中删除一个人。

于 2012-12-27T10:17:33.070 回答
0

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

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

当 CourseInstructor 仍然具有对 Person 的引用时,数据库不会让您删除 Person,因此您需要首先删除相关的 CourseInstructor,最好是作为事务的一部分。

如果您真的很苦恼,请查找“参照完整性”和“实体框架中的参照完整性”。

希望这会有所帮助。

于 2012-12-27T10:27:56.637 回答