我正在尝试基于输入的csv文件对SQL表执行插入/更新/删除操作,该文件从Web应用程序加载到数据表中。目前,我正在使用DataSet进行CRUD操作,但想知道使用LINQ over DataSet是否有任何优势。我假设代码将减少并且更强类型但不确定我是否需要切换到LINQ。任何投入都赞赏。
修改
这不是批量操作,CSV最多可包含200条记录
答案 0 :(得分:0)
我使用了非常快的LumenWorks CSV reader。它有自己的API,用于使用IDataReader接口提取数据。以下是codeplex.com的简短示例。我将它用于我的所有CSV项目,因为它非常快速地读取CSV数据。我对它的速度有多快感到惊讶。
如果您要从这样的读者那里学习,那么您实际上是从数据读取器API开始,因此可能更容易使用数据表(您可以创建与结果集匹配的DataTable并轻松复制匹配列到列的数据。)
使用LINQ可以减慢许多更新速度,具体取决于您使用的是Entity Framework还是其他东西,以及您使用的是什么样的风格。一个DataTable,恕我直言可能会更快。我遇到LINQ问题并且使用大量对象更改跟踪(如果使用附加实体,而不是使用POCO)。我从Lumenworks获取CSV文件并将其复制到DataTable时表现非常出色。