0

我正在尝试根据从 Web 应用程序加载到数据表中的输入 csv 文件对 SQL 表执行插入/更新/删除操作。目前,我正在使用 DataSet 进行 CRUD 操作,但想知道使用 LINQ 优于 DataSet 是否有任何优势。我假设代码将减少并且类型更强大,但不确定是否需要切换到 LINQ。任何输入表示赞赏。

编辑

这不是批量操作,CSV 最多可能包含 200 条记录。

4

1 回答 1

0

我使用了非常快的LumenWorks CSV 阅读器。它有自己的 API 用于提取数据,使用 IDataReader 接口。这是取自 codeplex.com 的一个简短示例。我将它用于我所有的 CSV 项目,因为它读取 CSV 数据的速度非常快。我对它实际上有多快感到惊讶。

如果您要从这样的阅读器出发,那么您实际上是从数据阅读器 API 出发,因此,可能会更轻松地使用数据表(您可以创建与结果集匹配的 DataTable 并轻松复制匹配的数据列到列)。

LINQ 的许多更新可能会变慢,这取决于您使用的是实体框架还是其他东西,以及您使用的是什么风格。一个数据表,恕我直言,可能会更快。我在使用 LINQ 和跟踪大量对象时遇到了问题(如果您使用的是附加实体,而不是使用 POCO)。从 Lumenworks 获取 CSV 文件并将其复制到 DataTable 中,我的表现非常好。

于 2013-01-22T19:17:33.707 回答