我有一个我导入DataTable的csv文件。此外,我创建了一个包含多个查询的TableAdapter。是否有可能直接在“内存中”DataTable上执行与TableAdapter关联的查询(似乎不是这样),或者我是否总是必须首先将导入的DataTable写入数据库,然后执行TableAdapter查询坚持数据?我想直接使用数据表,因为它是一个小项目,不值得将数据从值对象转换为数据表或使用OR映射器。
提前致谢!
致以最诚挚的问候,
安德烈亚斯
PS:它只是少量数据,因此内存影响不应该那么大。
答案 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 CSV
或Linq to ODBC
的内容。