エンティティをフラット テキスト ファイルで読み書きしたいのですが、膨大な量のデータがあるため、Serlization/Deserialization は適切な解決策ではありません。
テキスト ファイル データ ソース (csv など) を扱うデータ プロバイダーはありますか?
エンティティをフラット テキスト ファイルで読み書きしたいのですが、膨大な量のデータがあるため、Serlization/Deserialization は適切な解決策ではありません。
テキスト ファイル データ ソース (csv など) を扱うデータ プロバイダーはありますか?
Jet エンジンと組み合わせて OleDB を使用できます。
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())
...
}
ターゲット ファイルの LINQ プロバイダーをいつでも調べることができます。明らかに LINQ to XML が利用可能です。すばやく検索すると、 LINQ to CSVやLINQ to Textなどの他のものが得られます。
ただし、あなたが探しているものに関して、彼らがどのようなサポートを提供しているかはわかりません。そのため、私の回答をそのまま受け取るのではなく、それらを確認する必要があります。
テキストファイルDataProviderではありませんが...protobufをチェックしてください-http :
//code.google.com/p/protobuf-net/
シリアル化の時間とスペースの消費を減らすために特別に書かれています...
その作者はStackoverflowにいます-MarcGravell
SQLite の使用を検討しましたか? それはあなたが望むことをするべきであり、多くのシナリオでかなり高速です。