.Netデータ処理の提案
-
06-07-2019 - |
質問
アプリケーションの作成を始めたばかりです。必要なことの一部は、栄養情報のデータベースでクエリを実行することです。私が持っているのは、USDAの SR21データセットの形式ですフラット区切りASCIIファイル。
必要なのはアドバイスです。このデータをアプリにインポートし、実行時に簡単かつ迅速にクエリできるようにする最良の方法を探しています。すべての標準的なものに使用します。コントロール、Datagrids、計算などを動的に設定します。ユーザー固有の永続データストレージも行う必要があります。これは商用アプリではないので、可能性を広げることを願っています。私は.Net Framework 3.5で大丈夫なので、Linqはデータにアクセスするときに可能性があります(最適なソリューションであるかどうかはわかりません)。それでは、このシナリオでの永続ストレージに関する提案は何ですか?どのような落とし穴に注意する必要がありますか?もちろん、例へのリンクは常に歓迎されます。
解決
非常に小さく見えるので、適切なオブジェクトモデルを作成し、その多くをメモリにロードしてから、LINQ to Objectsを使用します。
「永続的なストレージ」に関して、あなたが何を求めているのかよくわかりません。 -データを読むだけではありませんか?既にテキストファイルにあるのではないですか?他の何かを紹介したい理由がわかりません。
他のヒント
フラットファイルをSQL Serverにインポートし、標準のADO.NET機能を介してアクセスします。データのクエリと操作に関しては、ファイルI / OよりもDBアクセスが常に優れている(堅牢で強力)だけでなく、特にこの栄養データも変わらないため、SQL Serverのキャッシュ機能を利用することもできます。頻繁に。
定期的に更新されたフラットファイルをダウンロードする必要がある場合は、これらのファイルをポーリングしてSQL Serverに自動的にインポートするサービスの開発を検討してください。
編集:SQL Serverを参照していますが、DBMSを自由に使用できます。
私にとっては、データがSQL Server(アプリを展開する予定がない場合はExpress)にインポートするのがおなじみのソースなので、誘惑に駆られます。または、テキストファイルハンドラーを使用してODBCデータソースを作成し、データベースのような接続を取得できます。
データベースへの恩恵を受けることに同意します。特に迅速なクエリに対して、そしてデータへのユーザーの変更を保存している場合はなおさらです。フラットファイルデータをSQL Server(Expressを含む)にロードするには、SSISを使用できます。
Linqまたはテキストデータを使用してメソッドを一覧表示する
1。リストを作成します。
2。テキストファイルを1行ずつ(またはすべての行で)読み取ります。
3。行の処理-必要なデータを取得してリストに添付します。
4。さらに使用するためにリストを処理します。
永続ストレージはファイルになり、リストは揮発性になります。