EFCore的外键级联删除导致的【可能会导致循环或多重级联路径】
2024-08-30 04:37:46
之前也是经常遇到这个问题,但好在每次创建的实体不多,很容易就能找到是哪个外键导致级联循环删除问题
之前都是这么处理,因为创建的实体也不多,所以还处理得来
但最近跟别人合作写后端,别人写了好多实体,我一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;
}
最新文章
- MVVM架构~knockoutjs系列之一些异常的总结(永久更新)
- 目标检测的图像特征提取之(一)HOG特征
- UITableViewcell autolayout下动态高度
- Oracle 11g服务
- java_Collection 类集
- HTML 学习网站
- php基础之一
- redis预切片技术,实现
- Exception in thread "main" org.hibernate.MappingException: You may only specify a cache for root
- oracle报表功能
- Centos7数据实时同步
- DSAPI 提取中间文本(字符串)
- css居中flex
- subset_lat_dir.sh
- [Swift]LeetCode901. 股票价格跨度 | Online Stock Span
- servlet模拟SpringMVC
- HDU 1250
- 如何让自己的Dev C++用上C++11,c++14标准
- python 2与python3 区别
- IAAS、SAAS 和 PAAS 的区别、理解