2

我有一个核心数据模型,我正在尝试弄清楚如何构建它。

可以说我有一个Recipe. 它有nametitleimage5 种成分。

recipeName我会用,制作一个食谱实体吗title?然后是,的Image实体。recipeNameimageURL

然后是一个带有, , ,等的Ingredient实体...recipenameingresient1ingredient1measurwmentingredient2

或者我会在一个食谱实体下做这一切(但如果理论上我创建一个包含 100 种成分的食谱会发生什么?

另外,我使用recipeName是因为我认为这就是您将它们联系起来的方式?

4

1 回答 1

18

根据您的问题,我将创建两个不同的实体。

Recipe,Ingredient

whereRecipe与 有一对多关系Ingredient

所以,Recipe会有一些属性(你需要的属性)和一个简单的关系叫做 example toIngredientstoIngredients是一对多的关系。换句话说,一个食谱可以有零个(或者如果你想要的话,可以有一个)成分。

同理,Ingredient有一些属性。此外,它有一个一对一()关系,称为toRecipe它的Recipe. 如果您的食谱可以共享成分,您也可以在这里决定使用多对多,但这完全取决于您要建模的内容。

关于关系规则,toIngredients有一个级联规则。当您删除一个食谱时,它的所有成分也将被删除。相反,toRecipe将是 nullify 类型。

这里有一个简单的架构。

在此处输入图像描述

其中toIngredients设置如下:

在此处输入图像描述

并且toRecipe是:

在此处输入图像描述

请注意,可选标志为toRecipe未选中。这意味着只有存在配方时才能存在成分。如果你不遵守这个规则,Core Data 会抱怨这个。

关于图像,这取决于图像的大小。遵循 Marcus Zarra 规则来决定如何设计您的模型Core Data - Storing Images (iPhone)

于 2012-12-28T16:43:31.210 回答