0

我有两个实体 - ItemTag。一个项目可以有一个或多个用户无法编辑的只读(工厂)标签,然后是一个或多个用户可以随时创建的读写(用户)标签。我想知道如何最好地建模这个。

当然,我可以只创建UserTagFactoryTag实体,但这意味着维护两个相同实体的冗余。我宁愿只拥有一个Tag实体。

如果我在ItemTag之间使用单一的一对多关系,我将拥有一个包含只读和读写标签的 NSSet。这并不理想,因为我必须在Tag上有一个属性来标识它是只读的还是读写的。

我想知道是否有一种方法可以使用ItemTag之间的多个关系来对此进行建模,从而使两种类型的标签彼此分开,即我会有一个 userTags 的 NSSet 和一个 factoryTags 的 NSSet?

谢谢。

4

1 回答 1

1

您可以在相同实体之间设置多个关系。控制从 Item 到 Tag 的拖动,并在 Item 中调用关系 factoryTags,在 Tag 中调用 itemUsingAsFT。使这个一对多。控制从项目到标签的第二次拖动,并在 Item 中调用此关系 userTags,在 inTag 中调用 itemUsingAsUT。也使这个一对多。这样,您可以使用相同的 Tag 实体将两者分开。

于 2012-09-02T11:54:34.917 回答