我正在创建一个应用程序,该应用程序需要对其通过 OData Web 服务公开的数据进行“离线”持久性。OData 服务使我能够访问底层数据库的所有表,以及所有相关的数据库字段,例如 ID。
此外,我已经有一个可以使用的 SQLite 数据库模式。
我的问题是,我已经问过两次了,是直接通过 SQLite(使用 FMDB)将 Web 服务数据存储在设备上,还是利用 Core Data 更好?
如果我使用 Core Data,那么我会失去主键和外键的关系优势,但会获得自动嵌套/填充的 NSManagedObjects 的优势。我不完全确定如何最好地重新创建我的数据对象的关系性质。
如果我使用 SQLite,我可以直接插入/更新 Web 服务调用的结果,并自动从现有的外键列中获取关系。缺点是我可能需要手动将结果封装在 POCO 对象中。
我现在的直觉告诉我 SQLite,但似乎社区在任何/所有情况下绝大多数都指向 Core Data。如果是核心数据,我如何最好地创建和维护对象关系(尤其是当它们是 1->many 时)
如果任何与 Apple 相关的方面存在问题,此应用程序将不会进入应用程序商店。