假设您有以下表格:
Friend
------
Id int not null (primary key)
Name nvarchar(50) not null
Address
-------
Id int not null (primary key)
FriendId int not null (links to Friend.Id)
City nvarchar(50) null
Country nvarchar(50) not null
使用Entity Framework 4,我发出一个ObjectContext.ExecuteStoreCommand调用来删除一些朋友。但是,我收到的错误是:
* System.Data.SqlClient.SqlException未处理 Message = DELETE语句与REFERENCE约束“FK_Address_Friend”冲突。冲突发生在数据库“MyFriends”,表“dbo.Address”,列'FriendId'中。 声明已经终止。*
如何确保Cascade删除的所有内容?我必须在数据库中设置一些属性吗?
答案 0 :(得分:3)
听起来你没有在你的SQL FK上正确设置级联。可能你将级联设置设置为none?如果您没有使用框架来执行删除(可能即使您是),则必须将SQL Server配置为级联删除。