gpt4 book ai didi

swift - 基于文档的核心数据应用程序 - 添加和删除附加属性

转载 作者:行者123 更新时间:2023-11-30 12:41:22 26 4
gpt4 key购买 nike

我有一个基于文档的核心数据应用程序,其中包含实体“语言”。该实体有两个永久属性“key”和“comments”。是否可以在运行时以编程方式添加和删除其他属性(“语言_1”、“语言_2”等)?

我的目标是当用户只需要很少的属性时,避免创建包含 50 个属性的表(我事先不知道需要多少个属性)。

或者也许我应该选择其他解决方案? :)

编辑

案例说明:当用户创建新文档时,表“Languages”只有两个属性“key”和“comments”。在使用文档期间,用户可以随时添加或删除语言 - 我的意思是属性(列)而不是表中的行。

我的目标是拥有如下所示的动态实体。

database explanation

data structure

最佳答案

是的,这是可能的。但这可能不是您想要的。无论何时打开文档,您都必须在运行时为每个文档重新创建修改后的托管对象模型。

看到你的草图后,我建议使用稍微不同的模型。顺便说一句,最好的风格是对实体使用单数名词(“Section”,而不是“Sections”),对多关系使用复数名词(“sections”,而不是“relSection”),并在其属性中省略实体名称( “评论”,而不是“sectionComment”)。

使用一个实体作为您的永久属性。称之为“词”。 Word 具有属性“注释”和“关键”,以及多对多关系“翻译”和“章节”。 “translations”关系的另一端是一个 Translation 实体,它具有属性“text”,也可能是语言名称(作为字符串或另一种关系)。

类似这样的事情:

data model

对于您的第一个示例,您将有一个 Word 实例、3 个 Translation 实例(.text = Home、Zuhause 和 Casa)和 3 个 Language 实例(.name = 英语、德语、西类牙语)。当您添加第二行时,您将获得 1 个 Word 实例、3 个 Translation 实例,但又获得 0 个语言。将新的翻译实例添加到现有语言的“翻译”关系中。

关于swift - 基于文档的核心数据应用程序 - 添加和删除附加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42192771/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com