级联删除,同一表,实体框架4代码优先

Dej*_*n.S 6 code-first entity-framework-4

嗨我目前正在使用.sdf数据库(服务器精简版4.0)和SQL快递.我试图在同一个表(类别 - 子类别)上设置级联删除,但我得到了我不能添加到同一个表的关系.

外键约束具有和更新或删除级联规则,并且不允许自引用同一表中的列

我该怎么办?

编辑
我是唯一一个有这个问题的人吗?

Mor*_*avi 5

正如您的SQLException建议的那样,这通常是SQL Server的限制,与EF或Code First无关.基本上,SQL Server不允许在内部关系上创建级联操作- 当级联路径从表A中的列col1转到表A中的列col2时 - A-> A.

实际上,Code First试图使用声明性参照完整性(DRI)来强制执行级联删除和SQL Server抛出.

对此关系强制执行级联删除的唯一方法是使用触发器.您可以在类别表上编写删除触发器,删除依赖行或将所有相应的外键设置为NULL(根据您的要求).