首页 > 其他 > 详细

EFCore的外键级联删除导致的【可能会导致循环或多重级联路径】

时间:2019-12-06 22:56:29      阅读:153      评论:0      收藏:0      [点我收藏+]

之前也是经常遇到这个问题,但好在每次创建的实体不多,很容易就能找到是哪个外键导致级联循环删除问题

 

之前都是这么处理,因为创建的实体也不多,所以还处理得来

技术分享图片

但最近跟别人合作写后端,别人写了好多实体,我一Update-Database,傻了,我得一个个地处理。
其实我也不太喜欢这个级联删除,是否删除关联实体应该由我自己来把握。那么可以这样处理,这样所以的外键删除关联都变成Restrict了

var foreignKeys = modelBuilder.Model.GetEntityTypes().SelectMany(e => e.GetForeignKeys()).Where(fk => fk.DeleteBehavior == DeleteBehavior.Cascade);
 foreach (var fk in foreignKeys)
{
    fk.DeleteBehavior = DeleteBehavior.Restrict;
}

 

EFCore的外键级联删除导致的【可能会导致循环或多重级联路径】

原文:https://www.cnblogs.com/caijt/p/11998440.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!