EF 4.1 Code First - 添加列

时间:2012-05-24 16:37:42

标签: c# entity-framework-4.1

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

2 个答案:

答案 0 :(得分:11)

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

答案 1 :(得分:1)

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

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

  

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