.NET中的文本文件DataProvider

时间:2011-08-22 08:50:30

标签: c# .net vb.net dataprovider objectdataprovider

我想在平面文本文件中读取/写入我的实体,并且由于大量数据,Serlization / Deserialization不是正确的解决方案。

是否有任何数据提供程序可以使用文本文件数据源(如csv,...)?

4 个答案:

答案 0 :(得分:3)

您可以将OleDB与Jet引擎结合使用:

using (var connection = new OleDbConnection(
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"" + directoryPath 
    + "\";Extended Properties='text;HDR=Yes;FMT=Delimited(,)';"))
using (var command = new OleDbCommand(
    "SELECT * FROM [" + fileName + "]", connection))
{
    connection.Open();
    using (var reader = command.ExecuteReader())
        while (reader.Read())
            ...
}

答案 1 :(得分:2)

您可以随时查看目标文件的LINQ提供程序,显然可以使用LINQ to XML。快速搜索会产生其他内容,例如LINQ to CSVLINQ to Text

但是,我不知道他们提供的是什么支持,所以你必须检查它们,而不是逐字记录。

答案 2 :(得分:0)

虽然不是文本文件DataProvider ...检查protobuf out - http://code.google.com/p/protobuf-net/
它专门用于使序列化更少的时间和空间消耗......

其作者在Stackoverflow - Marc Gravell

答案 3 :(得分:0)

你考虑过使用SQLite吗?它应该做你想要的,并且在很多场景中都很快。