使用控制台应用程序从 2 个不同的 SQL 服务器数据库迁移数据

Migrating data from 2 different SQL Server databases using console app

我有 2 个 Web 应用程序,假设是 Legacy1New1。我有单独的 DbContext 用于应用程序和单独的数据库。

现在我想将数据从Legacy1 数据库迁移到New1 数据库。我不能简单地在 SQL 服务器中使用 copy databaseexport database 选项。实体不同,我需要在迁移数据时合并一些逻辑。

我决定使用 .Net Core Console (.Net Framework) 项目来执行此操作。我是否必须将两个 DbContexts 添加到该项目?还有我想要映射和进行迁移的所有实体,或者有任何其他方法可以实现这一点。

最后我找到了一个简单的方法来实现它。我使用 EF DB First 方法为 sourcetarget 数据库生成 edmx 文件。这也让我可以访问相应的 Entities

我使用源 dbcontext 查询源数据库并根据要求操作数据并使用目标 dbcontext 插入目标数据库。我使用 AutoMappersource 个实体映射到 Target 个实体。

这比我之前想的要简单得多。希望它能帮助其他有类似情况的人。