订购应用程序的核心数据关系

时间:2014-01-25 14:57:57

标签: ios objective-c core-data ios7 entity-relationship

我有一个云应用程序,它依赖于后端服务器上的SQL。我现在希望创建另一个应用程序,该应用程序首先使用核心数据来保存ipad中的数据,并且只要用户具有Internet访问权限,就可以自动将我的核心数据映射到服务器。

我在将数据库表移植到核心数据实体上时出现问题。

  1. 我有一个products表,用于存储包含 namepriceproduct id
  2. 等属性的产品
  3. 我有一个orderLines表,其中会存储来自特定order的具有以下属性的单个项目,productorderline_quantityOrderedorderLine_totalPriceAtCheckOut,{{ 1}}。订单ID用于跟踪订单行与哪个订单相关联。
  4. 然后我们有OrderId表,其中只存储有关购买的信息,如orderscustomer_id - 由OrderId表用于建立关系,{{ 1}},orderlines
  5. 现在在将此实现到coreData之前,我知道我不需要创建主键ID,因为Core Data已经有了自己的方法来识别具有自己的id属性的行,它为我创建的每个实体实现。

    但是我如何用datePurchased形成从totalOrderAmountorder表的关系。它将有一个orderlines,这就是我连接两者的方式。

    OrderId

    我知道CoreData不是ORM,没关系,但如果有人可以指导我设置这个核心数据实体,那就太棒了。 我不是初学者,我之前在其他项目中处理过Core Data,现在我需要在界面构建器中的实体编辑中实现关系。谢谢

1 个答案:

答案 0 :(得分:1)

首先,您将为存储在服务器上的每个属性创建一个属性。即使Core Data不会将其用作主键或外键,您仍然希望保留它们以进行同步。

其次,您在Core Data中定义关系,双向,在模型编辑器中作为一对多。然后在代码中创建一个订单对象,创建orderLine(推荐单数实体名称/标准),然后将orderLine实例放入一个集合中,并将该集合传递给订单对象。

您不熟悉哪一部分,我会更详细地更新我的答案。