使用实体框架 Cascade 和 ClientCascade 有什么区别?

The*_*ice 6 c# asp.net entity-framework entity-framework-6 asp.net-core

我正在学习 C# 以及如何使用实体框架。我相信我知道什么是 Cascade、Restrict、NoAction 和 SetNull 行为。

但还有其他带有 Client 前缀的行为:

在此输入图像描述

我想了解它们之间有什么区别以及何时应该使用 ClientCascade 而不是 Cascade 或 ClientNoAction 而不是 NoAction。

tra*_*mer 7

简短的答案是 - 当dependent/ref. entitiesloaded/cached内存中时,对主要实体的cascade delete操作fails- 因为CYCLIC ref. LOCK.

ClientCascade允许DBContext删除实体,即使存在CYCLIC ref. LOCK

EF Core 级联与客户端级联删除