Kor*_*orj 6 entity-framework cascade parent-child self-reference
在我的MS SQL Server 2008数据库中,我有自引用的表,其中包含层次结构的类别(ID和ParentID).表具有自我外键约束和"而不是删除"触发器以执行删除其子节点的完整节点.
管理数据我正在使用实体框架(4.3),从具有自跟踪实体的DB生成的模型和ObjectContext(由VS模板生成).EDM还在"类别"实体上具有自引用关联.
尝试删除任何至少有一个子行的父行时,我遇到了问题.
我打电话后:
Entity.MarkAsDeleted();
Context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
在SQL Server Profiler中,我看到EF首先生成一个更新语句,将子行的ParentID设置为null,然后删除父行!当然,DB中的级联规则不起作用,子节点仍然保留在EF上下文和DB中.
我试图将关联规则"On delete"设置为"Cascade"和"None",但它没有意义......
如何在EF自引用表中执行级联删除,或者至少如何防止EF更新子行的父ID?
| 归档时间: |
|
| 查看次数: |
903 次 |
| 最近记录: |