[注意:需要在代码中,因为不能使用 SSIS 或类似的]
我可能需要使用 C# 和 EF 将数据从一个数据库批量复制到另一个数据库——尽管这并不是一成不变的。
问题是源数据都在 varchar(max) 中,我希望目标数据类型正确。来源是来自旧的 ETL 工作的历史记录,该工作运行良好,我无法被替换。我见过的最常见的问题是数字字段中的字母 - 例如货币字段中的“无”。这些在源代码中都很好,因为它都是 varchar。
我想以
最简单的方式复制数据并验证它:
源-> 验证-> 目的地。
如果验证失败,那么我需要知道失败的确切行(理想情况下是什么失败),以便可以在源中手动修复它,并重新复制数据。
大约有 50 个表,行数在 10 到 170 万行之间!所以速度也很重要。
解决这个问题的明智方法是什么?创建 DTO、验证属性和自动映射?两个 EF 实体并逐行映射并验证每个实体?SPROC 和手动插入?