我在 Visual Studio 2012 的 asp.net 中使用实体框架。我只是在学习这些东西。我跟着这个教程
刚刚创建了网格并运行了网站,除了删除操作之外一切都很好。当我单击删除时,它会显示如下错误:
有人能告诉我为什么我会收到这个错误以及如何纠正这个错误。. .
提前致谢
我在 Visual Studio 2012 的 asp.net 中使用实体框架。我只是在学习这些东西。我跟着这个教程
刚刚创建了网格并运行了网站,除了删除操作之外一切都很好。当我单击删除时,它会显示如下错误:
有人能告诉我为什么我会收到这个错误以及如何纠正这个错误。. .
提前致谢
您的问题的答案在您的教程中给出。(仅当您使用相同的表和相同的约束时才适用)在“修改 EntityDataSource 控件标记以提高性能”下
删除按钮也有效。对于具有注册日期的行单击删除,该行将消失。(没有注册日期的行代表教师,您可能会收到参照完整性错误。在下一个教程中,您将过滤此列表以仅包括学生。)
您收到引用错误意味着您没有在删除操作中使用级联,因此当您删除人员表中的一行时,因为在学生成绩表中引用了同一列。所以删除不会发生。使用级联 - ON DELETE CASCADE。
好像您想从学校推荐的 CourseInstructor 中删除一个人。
这是一个非常明确的错误消息,快速 google 可以帮助您更快地解决。
Table CourseInstructor 与 Table Person 具有外键关系。在您的 EF 图中,您可以将其视为一种关系(两个实体之间的一条线)。
当 CourseInstructor 仍然具有对 Person 的引用时,数据库不会让您删除 Person,因此您需要首先删除相关的 CourseInstructor,最好是作为事务的一部分。
如果您真的很苦恼,请查找“参照完整性”和“实体框架中的参照完整性”。
希望这会有所帮助。