Core Data 自动迁移不会在我的新模型中创建新实体

Posted

技术标签:

【中文标题】Core Data 自动迁移不会在我的新模型中创建新实体【英文标题】:Core Data automatic migration doesn't create the new entity in my new model 【发布时间】:2012-02-05 04:30:55 【问题描述】:

我制作了一个新版本的核心数据模型,其中包括一个新实体“测试”和一个属性“类型”。 轻量级迁移没有错误,但我注意到新实体没有在数据库中创建。获取这个新实体 "Test" 时,结果为零。我将属性“type”设置为非可选,默认值为 1,因为我预计迁移将使用此默认值创建新实体。但它没有。所以我的问题是:这是预期的行为吗?在核心数据迁移的情况下,没有创建新实体而是设置为nil?或者如果我遗漏了一些步骤,如果新模型在新实体“测试”和现有实体之间存在关系会发生什么?谢谢。

【问题讨论】:

【参考方案1】:

您需要创建该实体的对象,例如使用 -[NSEntityDescription insertNewObjectForEntityName:...]。简单地将实体放在模型中不会创建任何对象。

您可以在迁移结束时执行此操作,或者在启动时懒惰地执行此操作(如果您获取此实体的对象但找不到它)。

【讨论】:

以上是关于Core Data 自动迁移不会在我的新模型中创建新实体的主要内容,如果未能解决你的问题,请参考以下文章

Core Data(iPhone)实现“自动轻量级迁移”

在 Google adsense 中创建的新单元不起作用

无法在 asp.net core EntityFrameworkCore.core 中创建迁移

如何在 Core Data 中创建数据模型?

考虑使用 Core Data 轻量级迁移的多个数据模型版本

在 Core Data 中创建关系以执行删除