2011-02-24 79 views
0

我有一个SQLite数据库。我应该将数据库放在具有核心数据的数据结构中吗?我能怎么做?我的问题是表格之间的“z关系”。用Sqlite3为iPhone/iPad填充核心数据结构

有可能吗?

+0

我建议你将你的sqlite数据库转换成JSON文件并将其导入到核心数据中,如果可能的话。使它变得更容易,你可能会更成功的结果 – binnyb 2011-02-24 14:28:32

+0

但关系是否存在? – Luca 2011-02-24 14:41:01

回答

0

我找到了解决方案。将来,我应该直接使用SQLite,但对于那些遇到类似问题的人来说,此解决方案运行良好。

第1步:您的表中的核心数据添加列标题为原始表的gl'ID临时关系。

步骤2:在CSV数据中添加两列。第一列包含值1并引用Core Data的P_OPT,第二列包含表的标识符和通过读取表Z_PRIMARYKEY中的SQLite核心数据生成的检索P_ENT。

第3步:使用任何编辑器Mac将您的数据转换为由Core Data生成的SQLite文件。请记住在临时列中附加gl'ID(关系)。

步骤4:通过使用SQL UPDATE命令(可与Mac上的任何SQL编辑器一起使用)更新值为Z_PK的Core Data中所有ID关系列。查询检索的值和使用临时列。

对不起,英语不好。我希望不要因为解释而对其他人有用。

2

核心数据即使在使用SQLite存储时也不是SQL。尽管理论上可以将标准SQLite文件转换为Core Data使用的模式,但是鉴于Apple不记录模式并因此可以在不发出警告的情况下更改模式,这很困难且有风险。您确实需要将SQL数据转换为Core Data对象。

最好的方法是编写一个包含您核心数据模型的实用程序应用程序。使用标准函数读入SQL数据,然后使用该数据和关系在Core Data中创建适当的托管对象和对象关系。

通常你有代码来创建托管对象,填充属性和设置关系。只需使用该代码,而不是从UI或Feed中提供数据,而是从SQL提供的数据中提供它。

+0

谢谢你的回复。 – Luca 2011-02-26 13:03:48