我有一个云应用程序,它依赖于后端服务器上的SQL。我现在希望创建另一个应用程序,该应用程序首先使用核心数据来保存ipad中的数据,并且只要用户具有Internet访问权限,就可以自动将我的核心数据映射到服务器。
我在将数据库表移植到核心数据实体上时出现问题。
products
表,用于存储包含 name
,price
,product id
orderLines
表,其中会存储来自特定order
的具有以下属性的单个项目,product
,orderline_quantityOrdered
,orderLine_totalPriceAtCheckOut
,{{ 1}}。订单ID用于跟踪订单行与哪个订单相关联。OrderId
表,其中只存储有关购买的信息,如orders
,customer_id
- 由OrderId
表用于建立关系,{{ 1}},orderlines
。现在在将此实现到coreData之前,我知道我不需要创建主键ID,因为Core Data已经有了自己的方法来识别具有自己的id属性的行,它为我创建的每个实体实现。
但是我如何用datePurchased
形成从totalOrderAmount
到order
表的关系。它将有一个orderlines
,这就是我连接两者的方式。
OrderId
我知道CoreData不是ORM,没关系,但如果有人可以指导我设置这个核心数据实体,那就太棒了。 我不是初学者,我之前在其他项目中处理过Core Data,现在我需要在界面构建器中的实体编辑中实现关系。谢谢
答案 0 :(得分:1)
首先,您将为存储在服务器上的每个属性创建一个属性。即使Core Data不会将其用作主键或外键,您仍然希望保留它们以进行同步。
其次,您在Core Data中定义关系,双向,在模型编辑器中作为一对多。然后在代码中创建一个订单对象,创建orderLine(推荐单数实体名称/标准),然后将orderLine实例放入一个集合中,并将该集合传递给订单对象。
您不熟悉哪一部分,我会更详细地更新我的答案。