删除具有参照完整性约束的实体

时间:2010-10-20 18:53:51

标签: c# entity-framework entity-framework-4

假设您有以下表格:

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删除的所有内容?我必须在数据库中设置一些属性吗?

1 个答案:

答案 0 :(得分:3)

听起来你没有在你的SQL FK上正确设置级联。可能你将级联设置设置为none?如果您没有使用框架来执行删除(可能即使您是),则必须将SQL Server配置为级联删除。