使用 Entity Framework Cascade 和 ClientCascade 有什么区别?
Using Entity Framework what is the difference between Cascade and ClientCascade?
我正在学习 C# 以及如何使用 Entity Framework。我相信我知道什么是 Cascade、Restrict、NoAction 和 SetNull 行为。
但是还有其他的前缀为Client的行为:
我想了解它们之间的区别,什么时候应该使用 ClientCascade 而不是 Cascade 或 ClientNoAction 而不是 NoAction。
简短的回答是——当 dependent/ref. entities
在内存中是 loaded/cached
时,cascade delete
对主要实体的操作 fails
- 因为 CYCLIC ref. LOCK
.
ClientCascade
允许 DBContext
删除实体,即使存在 CYCLIC ref. LOCK
我正在学习 C# 以及如何使用 Entity Framework。我相信我知道什么是 Cascade、Restrict、NoAction 和 SetNull 行为。
但是还有其他的前缀为Client的行为:
我想了解它们之间的区别,什么时候应该使用 ClientCascade 而不是 Cascade 或 ClientNoAction 而不是 NoAction。
简短的回答是——当 dependent/ref. entities
在内存中是 loaded/cached
时,cascade delete
对主要实体的操作 fails
- 因为 CYCLIC ref. LOCK
.
ClientCascade
允许 DBContext
删除实体,即使存在 CYCLIC ref. LOCK