2

我有一个导入数据表的 csv 文件。此外,我创建了一个带有多个查询的 TableAdapter。是否有可能直接在“内存中”DataTable 上执行与 TableAdapter 关联的查询(似乎不是这样),还是我总是必须先将导入的 DataTable 写入数据库,然后在上执行 TableAdapter 查询持久化数据?我想直接使用数据表,因为它是一个小项目,不值得将数据从值对象来回转换为数据表或使用 OR 映射器。

提前致谢!

此致,

安德烈亚斯

PS:只是数据量很小,所以对内存的影响应该不会那么大。

4

2 回答 2

3

您可以使用 DataTable 的 Select 方法。它需要类似 SQL 的过滤器(类似于您在where子句中编写的内容)

var table = new DataTable();

table.Columns.Add("Value");

table.Rows.Add(1);
table.Rows.Add("One");

var rows = table.Select("value='One'");

foreach (var value in rows)
    Console.WriteLine(value["Value"]);
于 2010-02-08T17:46:07.407 回答
1

将整个文件加载到内存中并使用Linq to DataSet

相同的查询可以透明地使用 SQL 数据库(Linq to SQL),但我不知道是否有类似的东西Linq to CSVor Linq to ODBC

于 2010-02-09T03:08:11.063 回答