核心数据关系混乱

时间:2013-06-22 18:41:14

标签: core-data

我正在制作一个核心数据模型,并且我有一个与约会实体有多对多关系的客户实体。约会可以变成交易(如果已经支付等),我需要跟踪已转变为交易的客户的约会(其中交易是一个实体以及其他属性)。客户端可以有多个事务,事务可以有多个客户端(可选)。如果我在交易和客户之间建立关系,那么我认为没有办法可以检测到哪些约会变成了交易而哪些没有...... 任何帮助我如何设置我的模型来做到这一点将不胜感激。 感谢

2 个答案:

答案 0 :(得分:0)

我认为这样做的方法不止一种。这是我认为有效的方法:

如果Transaction是另一个实体,并且Appointment与Transaction具有一对一的关系。然后,如果未付款,您可以将交易实体保留为零。如果付款,您设置交易并链接其与约会和客户的关系。通过检查您的约会交易是否为零,您知道它是否变成了交易。

答案 1 :(得分:0)

如果您需要有关约会和交易之间转换的详细信息,您可以将转换本身作为一个实体并使其持久化。新的转换实体可以具有各种属性,如:

  • 日期(转变何时发生)
  • 类型(预约转换为交易,被取消或延迟)

和关系:

  • 来自(最初的约会)
  • 到(由此产生的交易/预约/等)

这样客户端和翻译之间的关系就像这样

Client->Appointent->Transform->Transaction

如果正在支付AppointentTransaction之间的唯一区别,您可以考虑仅使用Transaction和一个标记(已付费/未付费)。

Client->Transaction->Transform->Transaction