0

我在 Core Data 中有一个预订系统,我有一个 Transaction 实体,它目前与 Appointment 以及其他一些东西有关系。客户可以预约。约会与服务类型有关系。

我想存储在计算机上进行的所有交易,但是如果删除了客户,我仍然希望显示客户过去的交易。同样,如果约会或服务被删除,我仍然希望它出现在过去的交易中。此外,对服务名称所做的任何修改都不应在事务中更改,尽管对客户端名称的任何修改都应在事务中更改。

如何做到这一点?我知道可以在每个实体中放置一个“删除”属性,而不是实际删除一个实体,但是如果在服务中进行修改,例如,更改将反映在事务中。

4

1 回答 1

0

如果合规性是一个问题,您可以保留多个实体副本。使用创建时间戳,您将拥有一个非常好的唯一 ID 来识别它们(与其他属性或您自己的 ID 方案结合使用)。

现在,不要修改任何事务,而是创建一个具有相同创建日期的新事务并复制所有数据(但modifiedDate属性中的时间戳不同)。显示它们时,只显示最新版本。删除时,只需标记为已删除。

于 2013-06-24T15:00:03.333 回答