.net 2.0:处理内存中DataTables的最佳方法是什么?

时间:2010-02-08 17:08:02

标签: .net ado.net .net-2.0 datatable in-memory

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

提前致谢!

致以最诚挚的问候,

安德烈亚斯

PS:它只是少量数据,因此内存影响不应该那么大。

2 个答案:

答案 0 :(得分: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"]);

答案 1 :(得分:1)

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

相同的查询可以透明地与SQL数据库(Linq to SQL)一起使用,但我不知道是否有类似Linq to CSVLinq to ODBC的内容。