使用控制台应用程序从 2 个不同的 SQL 服务器数据库迁移数据
Migrating data from 2 different SQL Server databases using console app
我有 2 个 Web 应用程序,假设是 Legacy1
和 New1
。我有单独的 DbContext
用于应用程序和单独的数据库。
现在我想将数据从Legacy1
数据库迁移到New1
数据库。我不能简单地在 SQL 服务器中使用 copy database
或 export database
选项。实体不同,我需要在迁移数据时合并一些逻辑。
我决定使用 .Net Core Console (.Net Framework) 项目来执行此操作。我是否必须将两个 DbContexts
添加到该项目?还有我想要映射和进行迁移的所有实体,或者有任何其他方法可以实现这一点。
最后我找到了一个简单的方法来实现它。我使用 EF DB First
方法为 source
和 target
数据库生成 edmx
文件。这也让我可以访问相应的 Entities
。
我使用源 dbcontext
查询源数据库并根据要求操作数据并使用目标 dbcontext
插入目标数据库。我使用 AutoMapper
将 source
个实体映射到 Target
个实体。
这比我之前想的要简单得多。希望它能帮助其他有类似情况的人。
我有 2 个 Web 应用程序,假设是 Legacy1
和 New1
。我有单独的 DbContext
用于应用程序和单独的数据库。
现在我想将数据从Legacy1
数据库迁移到New1
数据库。我不能简单地在 SQL 服务器中使用 copy database
或 export database
选项。实体不同,我需要在迁移数据时合并一些逻辑。
我决定使用 .Net Core Console (.Net Framework) 项目来执行此操作。我是否必须将两个 DbContexts
添加到该项目?还有我想要映射和进行迁移的所有实体,或者有任何其他方法可以实现这一点。
最后我找到了一个简单的方法来实现它。我使用 EF DB First
方法为 source
和 target
数据库生成 edmx
文件。这也让我可以访问相应的 Entities
。
我使用源 dbcontext
查询源数据库并根据要求操作数据并使用目标 dbcontext
插入目标数据库。我使用 AutoMapper
将 source
个实体映射到 Target
个实体。
这比我之前想的要简单得多。希望它能帮助其他有类似情况的人。