Мне нужно получить большой объем данных из одного набора таблиц и SQLBulkInsert в другой набор... к сожалению, исходные таблицы ВСЕ varchar (max), и я хотел бы, чтобы назначение было правильного типа. Некоторые таблицы состоят из миллионов строк... и (по слишком бессмысленным политическим причинам, чтобы вдаваться в них) мы не можем использовать SSIS.
Кроме того, некоторые «логические» значения сохраняются как «Y/N», некоторые «0/1», некоторые «T/F», некоторые «true/false» и, наконец, некоторые «on/off».
Есть ли способ перегрузить IDataReader для выполнения преобразования типов? Я думаю, должно быть для каждого столбца?
Альтернативой (и может быть лучшим решением) является установка картографа (возможно, AutoMapper или пользовательского) и использование EF для загрузки из одного объекта и сопоставления с другим? Это обеспечило бы большой контроль, но также потребовало бы большого количества стандартного кода для каждого свойства :(