我需要从一组表和 SQLBulkInsert 中获取大量数据到另一组表中......不幸的是,源表是 ALL varchar(max),我希望目标是正确的类型。有些表在数百万行中......并且(由于过于毫无意义的政治原因而无法进入)我们不能使用 SSIS。
最重要的是,一些“布尔”值存储为“Y/N”,一些“0/1”,一些“T/F”,一些“真/假”,最后一些“开/关”。
有没有办法重载 IDataReader 来执行类型转换?我猜需要以每列为基础吗?
另一种选择(可能是最好的解决方案)是放置一个映射器(可能是 AutoMapper 或自定义)并使用 EF 从一个对象加载并映射到另一个对象?这将避免大量控制,但也需要为每个属性提供大量样板代码:(