SQL Server 2016时态表设计最佳实践

时间:2017-03-08 05:02:03

标签: sql sql-server data-modeling sql-server-2016

使用SQL Server 2016时态表功能可用于模拟软删除行功能的最佳做法。 例如,以下是两种不同的情况。

  1. 客户,订单,订单行表都在那里,如果我删除客户,我应该通过添加isDeleted列来进行软删除吗?或者通过支持时态表进行硬删除?如果我使用时间,那么如果我需要取消删除该客户及其订单,订单,该怎么办。

  2. 角色,权限,角色授权表都在那里。现在,如果有人更改了角色权限,我是否应该清除rolepermission表中角色的所有权限并添加新条目?或者我们应该在rolepermission表中实现isdelete列并进行upsert而不是硬删除。

  3. 我不擅长数据库设计,并希望有专家指出我正确的方向。

1 个答案:

答案 0 :(得分:0)

现在我们在所有表中进行软删除并使用此库来确保我们不必在ef代码中编写大量的isdelete过滤器。

https://github.com/zzzprojects/EntityFramework-Plus