Question

Je commence tout juste à écrire une application. Une partie de ce qu'il faut faire est d'exécuter des requêtes sur une base de données d'informations nutritionnelles. Ce que j’ai, c’est les ensembles de données SR21 de l'USDA sous la forme de Fichiers ASCII délimités à plat.

J'ai besoin de conseils. Je cherche le meilleur moyen d'importer ces données dans l'application et de les interroger facilement et rapidement au moment de l'exécution. Je vais l'utiliser pour toutes les choses standard. Remplissage dynamique des contrôles, des datagrides, des calculs, etc. Je devrai également effectuer un stockage de données persistant spécifique à l'utilisateur. Ce ne sera pas une application commerciale, donc j'espère que cela ouvre les possibilités. Je suis bien avec .Net Framework 3.5 donc Linq est une possibilité pour accéder aux données (je ne sais pas si ce serait la meilleure solution ou non). Alors, quelles sont les suggestions de stockage persistant dans ce scénario? Quel genre de pièges devrais-je surveiller? Les liens vers des exemples sont toujours appréciés bien sûr.

Était-ce utile?

La solution

Comme cela semble assez petit, je mettrais au point un modèle d’objet approprié, chargerais le tout dans la mémoire, puis utiliserais LINQ to Objects.

Je ne suis pas sûr de ce que vous demandez en termes de "stockage persistant". - vous ne faites pas que lire les données? Vous n'avez pas déjà ça dans les fichiers texte? Je ne sais pas pourquoi vous voudriez introduire autre chose.

Autres conseils

Je voudrais importer les fichiers à plat dans SQL Server et y accéder via la fonctionnalité ADO.NET standard. Non seulement l'accès aux bases de données est-il toujours meilleur (plus robuste et plus puissant) que les E / S sur fichiers en ce qui concerne la requête et la manipulation des données, mais vous pouvez également tirer parti des capacités de mise en cache de SQL Server, d'autant plus que ces données nutritionnelles ne changeront pas non plus souvent.

Si vous devez télécharger des fichiers plats mis à jour régulièrement, envisagez de développer un service qui interroge ces fichiers et les importe automatiquement dans SQL Server.

EDIT: je fais référence à SQL Server, mais n'hésitez pas à utiliser n’importe quel système de gestion de base de données.

Ma tentation serait d’importer les données dans SQL Server (Express si vous ne souhaitez pas déployer l’application) car c’est une source familière pour moi. Sinon, vous pouvez probablement créer une source de données ODBC à l'aide du gestionnaire de fichiers texte pour obtenir une connexion de type base de données.

Je conviens que vous bénéficieriez d'une base de données, en particulier pour les requêtes rapides, et encore plus si vous sauvegardiez les modifications apportées aux données par l'utilisateur. Pour charger les données du fichier à plat dans un serveur SQL (y compris Express), vous pouvez utiliser SSIS.

Utiliser des données Linq ou texte pour lister la méthode

1.créer une liste.

2.Lisez le fichier texte ligne par ligne (ou toutes les lignes).

3.processez la ligne - obtenez les données requises et les joindre à la liste.

4. Traitez la liste pour toute utilisation ultérieure.

la mémoire de persistance sera constituée de fichiers et la liste est volatile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top