C# SQL 服务器 - 在用户被删除时保存有关用户的信息

C# SQL Server - save information about user on item when user has been deleted

我有一个数据库,我需要一些关于如何在这种情况下进行的建议。假设我有一个名为 Tasks 的 table。每个任务都有一个名为 CreatedBy 的 属性,我需要在其中存储有关创建该任务的用户的信息。

我可以存储例如该用户的 ID,当我获取任务时,我获取有关用户的信息,这样特定任务的 Createdby 字段值将是 John Smith,而不是 ID。到目前为止一切都很好。我应该如何处理假设用户 John Smith 已从系统中 removed/deleted 而任务仍然存在的情况,我如何显示创建任务的用户的姓名?我仍然需要在那里显示 John Smith 而不仅仅是 ID。

您可以将列 Active 添加到 User,而不是删除用户。如果 John Smith 删除了他的帐户,而不是删除,您将 Active 设置为 false

这称为软删除。

在这种情况下,我会为用户 table 使用 'soft deletes'。向您的用户添加一列 table 并将其命名为 'Active',默认值为 1。当您希望删除用户时,将值设置为 0。这将允许您继续为您的用户强制执行参照完整性用户。