Если данных много и их нужно просто добавить (
INSERT INTO), то забыть про
Entity Framework и использовать
SqlBulkCopy.
Также следует подумать об уменьшении числа столбцов, 617 - это многовато :-)
Типы придется руками делать, если в
CSV не содержится никакой информации о типе данных (например, в заголовке таблицы). Как вариант, можно попробовать определить тип данных автоматически по первой строке данных. Например, если в поле только числа, то считать, что это
int (
\d+), если числа и есть разделитель, то
float (
[\d\,\.]+), если дата (
\d{1,2}\.\d{1,2}\.\d{2,4}), то
datetime (или
date), если
true или
false (
true|false), то
bool (
bit), а по умолчанию
varchar. В скобках указан примерный вариант шаблонов регулярных выражения для проверки.