DELETE语句与ASP.NET动态数据中的REFERENCE约束冲突

我有两个表Application_User和Application_User_Access. Application_User_Access表与Application_User表具有外键约束.

当我删除Application_User表中的记录时,我收到“与REFERENCE约束冲突的DELETE语句”异常.

这在ASP.NET动态数据实体Web应用程序中发生.我想在这种情况下删除所有子记录,最后删除父记录.怎么实现这个?

解决方法

您可以为Application_User_Access表实现级联删除.为此,您需要稍微修改数据库架构.具体删除Application_User_Access中的先前引用到Application_User表并添加一个新引用:
--not sure about the column names though

ALTER TABLE Application_User_Access
ADD CONSTRAINT FK_Application_User_Access_Application_User
FOREIGN KEY (used_id)
REFERENCES Application_User(id)
ON DELETE CASCADE
GO

注意ON DELETE CASCADE的事情.这意味着每当删除主键记录时,也会删除引用它的外键记录.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...