我按照this示例启用了应用程序中的某些实体以使用SoftDelete模式。
但是,这在以下情况下不起作用(source code here):
- 禁用级联删除(请参阅this)
- 将相关子记录加载到身份表(如this)
时
醇>
在该示例中,显然触发UPDATE
语句来设置(Status = 1
)不应该导致任何问题。但是,看起来EF在触发实际的SQL语句之前正在进行某种FK检查。
在不触发UPDATE
:
的情况下抛出以下内容
操作失败:无法更改关系,因为
一个或多个外键属性是不可为空的。当一个
改变了关系,相关的外键属性是
设置为空值。如果外键不支持空值,
必须定义新的关系,外键属性必须是
分配了另一个非空值,或者不相关的对象必须是
删除。
有没有办法解决这个问题?