假设您有一个 ServiceCall 数据库表,它记录了对您进行的所有服务调用。此记录中的每一个都包含与客户记录的多对一关系,其中存储了哪个客户进行了服务呼叫。
好的,假设客户已停止与您开展业务,并且您不需要客户在数据库中的记录。创建新的 ServiceCall 记录时,不再需要客户的姓名出现在下拉列表中。
你做什么工作?您是否允许用户从数据库中删除客户的记录?
您是否为该客户的记录设置了一个特殊列 IsDeleted 为 true,然后确保所有下拉列表不会加载所有 IsDeleted 设置为 true 的记录?虽然这可以防止旧记录在内部连接处被破坏,但它也可以防止用户添加与旧客户同名的新记录,不是吗?
你根本不允许删除吗?只允许“禁用”它?
你用过其他什么策略吗?我猜每个人都有自己的方式,我只需要看看你的意见。
当然上面是相当简化的,通常一条ServiceCall记录会链接到很多其他的实体表。当需要删除它们时,所有这些都将面临同样的问题。