8. EF Core 外键的删除模式

Posted adoni

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8. EF Core 外键的删除模式相关的知识,希望对你有一定的参考价值。

一、在删除有其它表的外键引用的数据有一下几种方式

1、不执行任何操作(EF Core默认Restrict):如果数据被其其他表外键依赖,拒绝删除
2、级联(Cascade):删除外键表中相应的所有行
3、设置NULL(SetNull):将表的外键字段值设置为空值NULL
4、设置默认值:如果外键表的所有外键列均已定义默认值,则将该列设置为默认值
 
级联删除例子
modelBuilder.Entity<Post>().HasOne(p => p.Blog).WithMany(b => 
b.Posts).OnDelete(DeleteBehavior.Cascade);

 

以上是关于8. EF Core 外键的删除模式的主要内容,如果未能解决你的问题,请参考以下文章

要在 EF Core 中添加没有外键的导航属性,使用 .NET Core Web API 进行 DB-first 迁移

csharp EF Core设置所有外键以删除restrict

EF Core外键配置问题代码优先问题

EF Code First CTP5 - 使用属性名称作为外键的列名

基于EF的外键的查询 使用ForeignKey(“ SupplierId”特性

SQLite EF Core - '外键约束失败'