【问题标题】:Setup Core Data relationship for ordering app为订购应用程序设置核心数据关系
【发布时间】:2014-02-16 14:16:55
【问题描述】:

我有一个云应用程序,它完全依赖后端服务器上的 SQL。我现在希望创建另一个应用程序,它首先使用核心数据将数据保存在 ipad 中,并且每当用户可以访问互联网时自动将我的核心数据映射到服务器。

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

  1. 我有一个 products 表,它将存储具有 namepriceproduct id 等属性的产品
  2. 我有一个orderLines 表,该表将存储来自特定order 的单个项目,具有以下属性:productorderline_quantityOrderedorderLine_totalPriceAtCheckOutOrderId。订单 ID 用于跟踪订单行关联到的订单。
  3. 然后我们有orders 表,它只存储有关购买的信息,例如customer_idOrderId - 由orderlines 表用来建立关系,datePurchasedtotalOrderAmount。李>

现在在将它实现到 coreData 之前,我知道我不需要创建主键 id,因为 Core Data 已经有自己的方式来识别具有自己的 id 属性的行,它为我创建的每个实体实现。

但是我将如何与OrderId 建立从orderorderlines 表的关系。它将有一个one to many relationship,这就是我连接两者的方式。

//Example of orders table in the backend database
OrderId = 1, purchasedate, customer, orderTotalAmount
OrderId = 3, purchasedate, customer, orderTotalAmount
OrderId = 5, purchasedate, customer, orderTotalAmount

//Example of orderlines table in the backend databaset
oL_Id = 1, OrderId = 1, productNameAtTimeOfPurchase, productPriceATOP, quantity, subTotal
oL_Id = 2, OrderId = 1, productNameAtTimeOfPurhchase, productPriceATOP, quantity, subTotal
oL_Id = 3, OrderId = 1, productNameAtTimeOfPurchase, productPriceATOP, quantity, subTotal
oL_Id = 4, OrderId = 3, productNameAtTimeOfPurchase, productPriceATOP, quantity, subTotal
oL_Id = 7, OrderId = 3, productNameAtTimeOfPurchase, productPriceATOP, quantity, subTotal
oL_Id = 8, OrderId = 3, productNameAtTimeOfPurchase, productPriceATOP, quantity, subTotal
oL_Id = 10, OrderId = 5, productNameAtTimeOfPurchase, productPriceATOP, quantity, subTotal

我知道 CoreData 不是 ORM,这很好,但如果有人可以指导我设置这个 Core 数据实体,那就太好了。 我不是初学者,之前在其他项目中处理过Core Data,现在需要在interface builder的实体编辑中实现一个关系。谢谢

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-04
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多