我正在开发使用SQL Server数据库的Windows应用程序。我有这个应用程序的不同版本,他们有不同的数据库结构,所以我需要在应用程序启动时将数据库迁移到最新版本。我想比较数据库结构和应用程序模型,然后进行修改,创建或删除命令。使用数据代码优先和现有数据库
另外我想使用EF代码优先ORM,经过一番搜索后,我发现有一些有用的命令和代码优先配置。但问题是,据我所知,所有这些都丢弃了现有的数据库并创建一个新的数据库,这样在我需要数据时数据就会丢失。
我在我的应用程序启动功能,使用这些行:
var migrator = new DbMigrator(new Configuration());
migrator.Update();
但执行这条线后,我会得到这个异常:
There is already an object named 'SomeTable' in the database.
我知道,这是正确的,并有该表但结构改变了!我怎样才能比较结构,并做其余的?