使用SQL Server 2016时态表功能可用于模拟软删除行功能的最佳做法。 例如,以下是两种不同的情况。
客户,订单,订单行表都在那里,如果我删除客户,我应该通过添加isDeleted列来进行软删除吗?或者通过支持时态表进行硬删除?如果我使用时间,那么如果我需要取消删除该客户及其订单,订单,该怎么办。
角色,权限,角色授权表都在那里。现在,如果有人更改了角色权限,我是否应该清除rolepermission表中角色的所有权限并添加新条目?或者我们应该在rolepermission表中实现isdelete列并进行upsert而不是硬删除。
我不擅长数据库设计,并希望有专家指出我正确的方向。
答案 0 :(得分:0)
现在我们在所有表中进行软删除并使用此库来确保我们不必在ef代码中编写大量的isdelete过滤器。