C # .NET - тип данных для сопоставления данных файла CSV - PullRequest
0 голосов
/ 13 июля 2011

В одном из моих приложений ASP.NET в C # предположим, что мне нужно прочитать CSV-файл (и, конечно, кое-что сделать), а в какой-то другой функции мне нужно прочитать другой CSV-файл и выполнить некоторые другие операции с данными. PS: мы используем oledb для чтения файла CSV.

Мой вопрос: будет ли хорошо иметь общую функцию, такую ​​как readCSV (fileName), для чтения файла CSV, или мы должны написать все команды oledb (то есть oledbconnection, open, close и т. Д.) В каждой функции по-разному.

  • Проблема с вариантом 1 заключается в том, что нам нужно дважды выполнить цикл (т. Е. 10K раз для чтения из csv и 10K раз для проверки) - (Между прочим, какой тип данных будет лучшим, который должен вернуть readCSV? If Ваше предложение - первый вариант).

  • Проблема со вторым вариантом заключается в том, что нам нужно записать все команды oledb (то есть oledbconnection, open, close и т. Д.) В каждой функции, которую мы реализуем для выполнения различных задач с данными CSV.

Ответы [ 2 ]

0 голосов
/ 13 июля 2011

Вы смотрели на Generic Parser?

http://www.codeproject.com/KB/database/GenericParser.aspx

Кажется, он используется довольно широко, быстро читает файлы CSV и, вероятно, достаточно гибок для ваших нужд.

0 голосов
/ 13 июля 2011

Я бы поместил весь код вашей БД в сервисный слой и вызвал бы его для анализа ваших csv-файлов.Таким образом, если ваш источник когда-либо изменится, у вас есть только небольшой кусок кода для редактирования.

Вы можете создать объекты для каждого из ваших CSV-файлов или использовать динамические объекты.Тогда ваш уровень обслуживания вернет либо IEnumerable, либо IQueryable.

...