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

Ios 设置订购应用程序的核心数据关系,ios,objective-c,core-data,ios7,entity-relationship,Ios,Objective C,Core Data,Ios7,Entity Relationship,我有一个云应用程序,它依赖于后端服务器上的SQL。我现在希望创建另一个应用程序,该应用程序首先使用核心数据将数据保存在ipad中,并在用户可以访问互联网时自动将我的核心数据映射到服务器 我在将数据库表移植到核心数据实体时遇到问题 我有一个products表,该表将存储具有属性的产品,例如名称,价格,产品id 我有一个订单行表,该表将存储特定订单中的单个项目,具有以下属性,产品,订单行(u quantityOrdered),订单行(u totalPriceAtCheckOut),订单ID。订单id

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

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

  • 我有一个
    products
    表,该表将存储具有属性的产品,例如
    名称
    价格
    产品id
  • 我有一个
    订单行
    表,该表将存储特定
    订单
    中的单个项目,具有以下属性,
    产品
    订单行(u quantityOrdered)
    订单行(u totalPriceAtCheckOut)
    订单ID
    。订单id用于跟踪与订单行关联的订单
  • 然后我们有一个
    订单
    表,它只存储有关购买的信息,如
    客户id
    订单id
    订单行
    表用来建立关系,
    日期购买
    总订单金额
  • 现在,在对coreData实现这一点之前,我了解到我不需要创建主键id,因为Core Data已经有了自己的方法,可以用自己的id属性标识行,它为我创建的每个实体都实现了该属性

    但是如何将
    order
    OrderId
    建立从
    orderlines
    表到
    orderlines
    的关系呢。它将有一个
    一对多关系
    ,这就是我将两者连接起来的方式

    //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,这很好,但如果有人能指导我建立这个核心数据实体,那就太好了。
    我不是初学者,我以前在其他项目中处理过核心数据,现在我需要在interface builder的实体编辑器中实现关系。谢谢

    首先,您需要为存储在服务器上的每个属性创建一个属性。即使核心数据不会将其用作主键或外键,您仍然希望保留这些数据以用于同步

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

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