我已对模型优先EDMX文件进行了更改,现在我想将更改应用到我的数据库中。我刚刚添加了一个新表和一些新字段,没有任何破坏性。我想将“diff”应用于我的数据库,但没有数据库迁移的麻烦。我真正需要的是一个只包含差异的非破坏性 SQL文件。
目前,我是通过从模型创建新的数据库SQL,删除与我正在创建的表不相关的所有代码以及运行SQL来手动执行此操作。但是,我的桌子目前是空的,所以我可以破坏性地做到这一点。此外,如果引用其他实体也有任何更改(例如,将新外键添加到其中一个现有表),则SQL显然具有破坏性。所以我需要通过编写自己的SQL手动添加它们。
是否有任何工具或更短的解决方法可以自动完成整个过程?我正在寻找能够比较当前数据库和新创建的EDMX的东西,并且只将diff应用到数据库中,作为一次性过程。实体框架的整个数据库迁移系统是一个极端开销和不必要的工作,整个过程只运行一次,可以归结为单个SQL文件。有这样的工具/方法吗?最佳实践是什么(EF迁移除外)?