繁体   English   中英

从DB进行逻辑删除

[英]Logical delete from DB

我有一个复杂的模式,有许多权限和关系。我想定义一个可以撤消的逻辑删除操作。 我考虑过为每个表添加'isDeleted'标志,但它似乎对我来说是错误的。 我还考虑添加一个类似于原始模式的归档模式,并在每个删除操作上移动数据。这似乎需要大量代码来编写“删除”和“取消删除”操作(特别是因为我想在删除casade上模拟逻辑delte)。

最后,我不知道在哪里处理逻辑删除的事件我正在使用EF所以我可以在代码中执行它,或者我可以在数据库中使用删除触发器。

我会以优雅的方式表达关于如何实现逻辑删除的任何建议。 谢谢。

我工作的每家公司都使用逻辑删除标志并通过代码进行管理。 添加归档架构是一个巨大的开销,IMO增加的优点(编码和性能方面)不值得额外的努力。

由于这是一个OLTP数据库,我没有使用IsDeleted标志的问题。 如果您担心性能,我将继续使用IsDeleted标志并通过批处理将其移动到存档,而不是在线。

我总是记住一件事,以避免过度设计某些东西 - 这不是一个问题,除非它是一个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM