10

我已经设置了数据库,我想在模型中添加一个新字段,在表中添加一个新列,有没有办法可以在不丢失所有数据的情况下做到这一点?通常,如果您删除数据库,它将自动重新创建所有内容,但我不想丢失数据。我使用 SQL Server 2008 作为数据库。

4

2 回答 2

11

您将需要使用 EF 迁移将新列添加到数据库中。您可以在此处此处阅读有关 EF 迁移的更多信息。

于 2012-05-24T16:40:57.607 回答
1

如果您首先使用代码,我总是在这种情况下手动将列添加到数据库中。不幸的是,没有简单的方法可以使用 Code First 自动执行增量模型更新。

例如,EF Code First 自身的错误之一甚至将手动更新指定为最佳选项:

自数据库创建以来,支持“您的上下文”上下文的模型已更改。手动删除/更新数据库,或使用 IDatabaseInitializer 实例调用 Database SetInitializer。例如,DropCreateDatabaseIfModelChanges 策略将自动删除并重新创建数据库,并可选择使用新数据为其播种。

于 2012-05-24T16:51:07.273 回答