我有两个实体通过一对多的关系连接起来,比方说CategoryEntity和ItemEntity。这种关系对于CategoryEntity是可选的(可以有没有项的类别),但对于每个ItemEntity都是必需的。在应用程序加载时,商店中已经存在这些类别,我希望导入ItemEntities并将它们连接到适当的CategoryEntity。
显然,为每个FetchRequest执行一个ItemEntity来查找匹配类别并不是一个好的解决方案,因为每次大约有4000到6000项。
我还能做些更有效率的事吗?
发布于 2011-10-02 13:52:38
当你说“导入”项目实体时,你是什么意思?这些是否在另一个核心数据存储中,在某个文件中以另一种格式定义,通过网络检索?
一种方法是一次获取所有类别,并将它们添加到充当缓存的NSDictionary中,并通过一些允许您执行快速查找的标识值进行键控。对于导入期间实例化的每个项目实体(无论这意味着什么),检索其类别ID,然后从缓存中检索类别MO。设置关系,然后保存。更好的是,批量处理一些插入并每10,100或1000保存一次,以减少IO开销。
https://stackoverflow.com/questions/1414701
复制相似问题