构建数据迁移工具,将数据从MySQL迁移到SQL Server

问题描述 投票:0回答:1

我需要构建一个 C# 控制台应用程序来将数据从 MySql 迁移到 SQL Server。这将在运行时运行。我无法使用其他第三方工具,因为表架构与 MySql 和 SQL Server 不同。

我必须从源表生成目标实体,这些实体的表名和列名不同。

注意:我有一张名为

Customer
的桌子。该表将有几个导航属性。当批量插入客户时,我需要添加这些导航属性(保存导航实体)。

要保存数据,批量插入的理想方式是什么?我尝试使用

EFCore.BulkExtensions
似乎并不理想,因为它不像 EF Core 那样在插入后设置 Id。

我不会使用

SqlBulkCopy
,因为有很多表需要迁移。

c# entity-framework-core sqlbulkcopy efcore.bulkextensions
1个回答
0
投票

根据可重用性的需求(是否是一次性使用?)、可扩展性的需求(是否是一个包含数百万行或行的巨大数据库?),您有多种解决方案。不过,所有解决方案都将遵循相同的过程。

  1. 从源数据库读取数据
  2. 如果源和目标之间的结构不同,可以选择对其进行转换
  3. 将数据推送到目标数据库。

您可以使用 EF 执行读/写操作,但自己编写 SQL 可能会快得多,因为您不需要那么多的脚手架。 SQL Server 还为您提供了生成插入语句的工具,以节省您编写插入语句的时间。请参阅为 SQL Server 表自动生成 INSERT 语句的最佳方法是什么?

© www.soinside.com 2019 - 2024. All rights reserved.