1 var entitys= Repository.Table.Where(a => ids.Contains(a.UUID)).ToList();
2 entitys.ForEach(a =>
3 {
4 foreach (var deductionitem in a.Deductionitems){}
5 DoDelete(a);
6 }
DeductionItems和主表配了级联删除,代码执行时会抛The relationship could not be changed because one or more of the foreign-key properties is non-nullable
如果去掉对从表的遍历就能成功删除,为什么会这样呢
我还是没懂为什么我只是遍历了从表级联删除就失效了呢
@程桔: 因为循环第一次的时候已经把A及其子表信息删除了,第二次还能删除什么
@通信的搞程序: 其实是a的从表并没有被删除,如果我去遍历a的从表的话,我必须要手动删除a的从表才行
@程桔: 我都是配置删除主表自动删除从表的,手动删除没用过
@通信的搞程序: 我也是配了主从表级联删除的,但是但我通过导航属性去变量从表时,级联删除就失效了
遍历子表后,EF无法分辨该记录是否要保留。所有需要手动删除从表,不能再依赖级联删除
卧槽,结错帖
我的200豆子啊