在我们的项目中,我们需要能够说出删除某个实体的人和时间。 经过一番调查后,我找到了下一个解决方案:
Id | XML | Deleted By
从您的观点来看,哪些解决方案更受欢迎,或者上面没有提到其他解决方案?
P.S。应从查询中排除已删除的行(Nhibernate和SQL)。
答案 0 :(得分:2)
我看到三个选项:
软删除。如你所述。是的,你必须在任何地方坚持使用IsSoftDeleted支票。到处。到处。这是一种彻底的痛苦。
归档表。创建一个与现有表完全相同的表...并在事务中执行移动(到存档表)和删除(从原始表)。
我与#2和#3合作过。我更喜欢#3,因为你避免了其他条款。
使用#2,您可能还必须找出允许1个非软删除行的约束(基于唯一约束),但也允许复制违反唯一约束的软删除行。是的,好时光。