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

发布于 2024-08-20 20:43:50 字数 285 浏览 3 评论 0原文

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

提前致谢!

最好的问候,

Andreas

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

I have a csv file that I import into a DataTable. Furthermore I've created a TableAdapter with several queries. Is it somehow possible to execute the queries associated with the TableAdapter directly on the "in-memory" DataTable (doesn't seem so) or do I always have to write the imported DataTable to the database first and then execute the TableAdapter queries on the persisted data? I wanted to use the datatable directly as it is a small project and it's not worth converting the data back and forth from value object to datatable or use OR mappers.

Thanks in advance!

Best regards,

Andreas

PS: It is only a small amount of data, so the memory impact should not be that big.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

三五鸿雁 2024-08-27 20:43:51

您可以使用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"]);

You can use Select method of DataTable. It takes SQL-like filter (similar to what you write in where clause)

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"]);
北城挽邺 2024-08-27 20:43:51

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

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

Load whole file into memory and use Linq to DataSet.

The same queries could transparently work with SQL database (Linq to SQL) but I don't know if there's something like Linq to CSV or Linq to ODBC.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文