我使用SQL Server做很多应用程序(两层应用程序),这是我在iOS中使用核心数据的第一个应用程序。

我试图弄清楚如何与其他数据建立多对多关系。让我用一个简单的例子来解释一下:

第一个实体称为List(指产品列表),它具有一个属性listName。

第二个实体称为product(指产品),它具有一个属性productname。

每个“产品”可以在一个以上的“列表”中,并且每个“列表”都包含一个以上的“产品”。

Data Model

Xcode自动创建了联接表:

SQLLITE

我现在的问题是我无法弄清楚如何为此连接表添加例如“quantity”列。我的主要目的是说:

在list1中,我有 4个产品1

list2 中,我有 3个产品1

list2 中,我有4个product2

...

在SQL Server中,这太简单了,因为我创建了自己的联接表并添加了其他数据,但是我不知道如何在核心数据中执行相同的操作。

最佳答案

如果您使用Many-2-Many(不带任何其他属性),则Core Data将隐藏关联表。相反,这意味着您需要自己创建一个关联表。如果您在Core Data中创建了一个新的实体,则应该执行此操作,该实体应该与其他两个实体都具有2-One关系。

没有额外的属性:

Entity1 Entity2(相关表已隐藏,但存在)

具有额外的属性:

Entity1 Entity2

10-08 09:10