【发布时间】:2017-01-14 17:40:31
【问题描述】:
我正在开发一个使用 SQL Server 数据库的 Windows 应用程序。我有这个应用程序的不同版本,它们有不同的数据库结构,所以我需要在应用程序启动时将数据库迁移到最新版本。我想将数据库结构与应用程序模型进行比较,然后执行更改、创建或删除命令。
我还想使用 EF Code-First ORM,经过一番搜索,我发现代码中有一些有用的命令和配置。但问题是,据我所知,它们都删除了现有数据库并创建了一个新数据库,因此在我需要数据时数据会丢失。
我在我的应用程序启动函数中使用了这些行:
var migrator = new DbMigrator(new Configuration());
migrator.Update();
但是在执行这一行之后我会得到这个异常:
There is already an object named 'SomeTable' in the database.
我知道,没错,有那个表,但结构发生了变化!我如何比较结构并完成其余的工作?
【问题讨论】:
标签: ef-code-first database-migration entity-framework-migrations