【问题标题】:Text File DataProvider in .NET.NET 中的文本文件数据提供程序
【发布时间】:2011-08-22 08:50:29
【问题描述】:

我想在纯文本文件中读/写我的实体,由于数据量巨大,序列化/反序列化不是合适的解决方案。

是否有任何数据提供者可以处理文本文件数据源(如 csv、...)?

【问题讨论】:

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


    【解决方案1】:

    您可以将 OleDB 与 Jet-engine 结合使用:

    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())
                ...
    }
    

    【讨论】:

      【解决方案2】:

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

      但是,我不知道他们为您所寻找的内容提供了哪些支持,因此您必须查看他们,而不是逐字接受我的回答。

      【讨论】:

        【解决方案3】:

        虽然不是文本文件数据提供者...检查 protobuf - http://code.google.com/p/protobuf-net/
        它是专门为使序列化减少时间+空间消耗而编写的......

        它的作者在 Stackoverflow 上 - Marc Gravell

        【讨论】:

          【解决方案4】:

          您是否考虑过使用 SQLite?它应该做你想做的事,而且在很多情况下都非常快。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-01-01
            • 1970-01-01
            • 2018-07-09
            • 1970-01-01
            • 2023-03-06
            • 2021-02-27
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多