我应该在表格中添加MarkedAsDeleted这样的字段吗?

时间:2012-11-06 21:23:08

标签: sql-server asp.net-mvc

我正在使用SQL Server构建ASP.NET MVC应用程序。我想知道什么是记录删除操作的好习惯。我的意思是,当一个项目通过Web应用程序删除时,我想将其标记为已删除,然后从管理控制台,我会在需要时清除它们。

这是一个好习惯吗?我应该使用还是避免使用?

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您对存储空间没有任何问题,这种方法没有任何问题。通常,如果要删除的对象与其他对象绑定,我们将使用此模式(例如,如果您按用户ID跟踪更改,那么您不希望删除该用户,因为您无法提取该信息用户稍后)。只需标记显示已删除记录的位字段,并在查询时将其过滤掉。

同样,它实际上取决于对您和您的应用程序有何意义。你会再次需要这个物体吗?它是否与数据库中的其他项目相关联?您想为用户提供“取消删除”的选项吗?如果对这些问题的回答是肯定的,那么你应该保留记录。如果所有这些的答案都是肯定的,那么我会问,为什么你不会在请求时删除记录?