首页 新闻 会员 周边

EntityFramework 4 Code first 下的删除问题

0
悬赏园豆:10 [已解决问题] 解决于 2012-12-14 16:37

目的:

在一个事务中

删除child记录,并删除child对应的Parent记录

删除Parent记录,并删除对应的child记录

 

我现在的问题:

context.Remove(child);

context.Remove(Parent);

context.dbSaveChange();

会说外键不能删除这样提示。我监控数据库发现只有一个delete parent的SQL。这我就不明白了为什么我删除了2个信息,而EF只做了一个删除。

 

如果按正常的思维想:我先删child,再删parent,是没有问题的。

该怎么解决,这种一对多的删除。

问题补充:

相关测试:

1.没有任何关系的两个表A B

Remove(A);

Remove(B);

saveChange();

成功

2.有关系的Parent,Child。没有关系的C表

Remove(Parent);//Child已经清空

Remove(C);

saveChange();

成功

3.有关系的Parent,Child。没有关系的C表

Remove(Parent);//Child未清空

Remove(C);

saveChange();

失败。这个好理解,因为Remove(Parent);会破坏主外键约束。

4.有关系的Parent,Child。

Remove(Child);

Remove(Parent);

saveChange();

失败。这个就是我现在的情况了。

dycom的主页 dycom | 初学一级 | 园豆:193
提问于:2012-12-14 14:30
< >
分享
最佳答案
0

DbFirst还是 CodeFirst?

实体 child 和 parent 有外键关联么?

收获园豆:10
Launcher | 高人七级 |园豆:45045 | 2012-12-14 14:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册