Core data 如何保留所有交易核心数据的副本

Core data 如何保留所有交易核心数据的副本,core-data,Core Data,我在核心数据中有一个预订系统,我有一个交易实体,目前它与约会以及其他一些事情有关系。客户可以预约。约会与服务类型有关系 我希望存储在计算机上进行的所有事务,但是如果删除了客户机,我仍然希望显示该客户机过去的事务。同样,如果约会或服务被删除,我仍然希望它显示在过去的事务中。此外,对服务名称的任何修改都不应在事务中更改,尽管对客户端名称的任何修改都应在事务中更改 如何做到这一点?我知道,可以在每个实体中添加“delete”属性,而不是实际删除实体,但如果在服务中进行了修改,则更改将反映在事务中。如果

我在核心数据中有一个预订系统,我有一个交易实体,目前它与约会以及其他一些事情有关系。客户可以预约。约会与服务类型有关系

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


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

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


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

如果您有modifiedDate属性,是否需要createdDate属性?我认为这将使它非常简单。您可以比较创建日期以确保这是相同的
事务
。修改的日期总是不同的。如果您有一个备用ID方案,也可以不使用创建日期。