Asp.net mvc ASP MVC 4如何知道您使用了哪种数据库迁移';你在吗?
我一直在用代码优先的方法在现有数据库上开发我的应用程序 直到现在,我才需要运行迁移。我不想在我的模型改变时破坏这个数据库,因为它非常大,而且里面有很好的样本数据 如果框架不告诉我有待应用的更改,我如何运行迁移?(代码在我从Rails迁移时运行,而我希望从这里迁移) 我不想设置自动迁移,因为我正在处理一个包含大量种子数据的大型数据库,我不想删除/重新创建这些数据。我还想控制制作什么、删除什么以及何时删除 当我将其投入生产时,这也是必需的,我希望通过迁移而不是手动展开更改。如何通过添加/删除所需字段进行迁移,而不让EF关心我在做什么 如果我知道它是如何知道它在哪个轨道上的(比如Rails),我能骗她认为她可以运行我想要的迁移吗 我认为通过以下方式设置初始值设定项:Asp.net mvc ASP MVC 4如何知道您使用了哪种数据库迁移';你在吗?,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我一直在用代码优先的方法在现有数据库上开发我的应用程序 直到现在,我才需要运行迁移。我不想在我的模型改变时破坏这个数据库,因为它非常大,而且里面有很好的样本数据 如果框架不告诉我有待应用的更改,我如何运行迁移?(代码在我从Rails迁移时运行,而我希望从这里迁移) 我不想设置自动迁移,因为我正在处理一个包含大量种子数据的大型数据库,我不想删除/重新创建这些数据。我还想控制制作什么、删除什么以及何时删除 当我将其投入生产时,这也是必需的,我希望通过迁移而不是手动展开更改。如何通过添加/删除所需字段
Database.SetInitializer<MyDbContext>(new CreateDatabaseIfNotExists<MyDbContext>
Database.SetInitializer(新的CreateDatabaseIfNotExists
回答标题中的问题,因为有一个sys table
\uuu MigrationHistory
告诉EF您的表与数据库中的表不同
关于如何操作(从package manager控制台):
启用迁移
- 在配置类中设置
AutomaticMigrations=false;
- 设置
,使其不会创建或更新数据库。设置初始值设定项(null)
- 在配置类中设置
将任何挂起的更改排入更改模型队列AddMigration
将调用updatedatabase
方法来更改数据库的任何更改(SAN丢失数据)MigrationName.Up