【问题标题】:Using Entity Framework what is the difference between Cascade and ClientCascade?使用实体框架 Cascade 和 ClientCascade 有什么区别?
【发布时间】:2022-01-18 06:49:00
【问题描述】:
我正在学习 C# 以及如何使用实体框架。我相信我知道什么是 Cascade、Restrict、NoAction 和 SetNull 行为。
但还有其他带有前缀客户端的行为:
我想了解它们之间有什么区别,何时应该使用 ClientCascade 而不是 Cascade 或 ClientNoAction 而不是 NoAction。
【问题讨论】:
标签:
c#
asp.net
entity-framework
asp.net-core
entity-framework-6
【解决方案1】:
简短的回答是——当dependent/ref. entities在内存中是loaded/cached时,主实体上的cascade delete动作fails——因为CYCLIC ref. LOCK。
ClientCascade 允许DBContext 删除实体,即使存在CYCLIC ref. LOCK