我的代码中有这样的配置:
builder.HasMany(c => c.Libs)
.WithOne(x=>x.Book)
.HasForeignKey(x=>x.BookId)
.OnDelete(DeleteBehavior.NoAction); <<-------- Here我的问题是,NoAction和Restrict值之间的有什么不同?
我看过Microsoft文档和对它们的描述是一样的!

发布于 2021-06-22 08:54:01
发布于 2020-10-08 19:07:29
delete行为定义了在PK关系中的父实体被删除时将采取的操作。在这种情况下,父实体是Book,而子实体是Libs,具有1:多关系。
NoAction:在本例中,当从数据库中删除图书表中的一行时,Libs表中具有与已删除BookId相同的BookId的所有行都将转换为null。请注意,此方法不会从Libs表中删除任何项,并且会使它们成为孤儿。
限制:在这种情况下,只有当没有与同一个BookId相关联的Libs时,才能从数据库中删除BookId中的一行。请注意,只有在删除了所有关联的Libs之后,才能删除Book行。
级联:在本例中,如果删除图书行,将自动删除图书中所有相关的Libs行。
https://stackoverflow.com/questions/64259612
复制相似问题