在我在C#中的一个ASP.NET应用程序中,假设我需要读取CSV文件(当然要做一些事情),而在其他一些函数中我需要读取另一个csv文件并对数据做一些其他的事情。 PS:我们使用oledb来读取CSV文件。
我的问题是,有一个像readCSV(fileName)这样的通用函数来读取csv文件是好的,或者我们应该在每个函数中以不同的方式编写所有oledb命令(即oledbconnection,open,close等)。
选项1的问题是我们需要循环两次(即从csv读取10K次以及验证10K次) - (顺便说一下readCSV应返回的最佳数据类型是什么?如果你的建议是选项一)。
选项二的问题是我们需要在我们实现的每个函数中编写所有oledb命令(即oledbconnection,open,close等),以便用CSV数据执行不同的任务。
答案 0 :(得分:0)
我将所有数据库代码放入服务层并调用它来解析您的csv文件。这样,如果您的源发生了变化,您只需要编辑一小部分代码。
您可以为每个csv文件创建对象,也可以使用动态对象。然后,您的服务层将返回IEnumerable或IQueryable。
答案 1 :(得分:0)
你看过Generic Parser吗?
http://www.codeproject.com/KB/database/GenericParser.aspx
它似乎被广泛使用,快速读取CSV文件,并且可能足够灵活以满足您的需求。