Pregunta

Estoy empezando a escribir una aplicación. Parte de lo que debe hacer es ejecutar consultas en una base de datos de información nutricional. Lo que tengo son los Conjuntos de datos SR21 del USDA en forma de archivos ASCII delimitados en plano.

Lo que necesito son consejos. Estoy buscando la mejor manera de importar estos datos a la aplicación y hacer que se puedan consultar fácil y rápidamente en tiempo de ejecución. Lo usaré para todas las cosas estándar. Completar controles dinámicamente, Cuadrículas de datos, cálculos, etc. También tendré que hacer un almacenamiento de datos persistente específico del usuario. Esta no será una aplicación comercial, así que espero que abra las posibilidades. Estoy de acuerdo con .Net Framework 3.5, por lo que Linq es una posibilidad al acceder a los datos (simplemente no sé si sería la mejor solución o no). Entonces, ¿cuáles son algunas sugerencias para el almacenamiento persistente en este escenario? ¿Qué tipo de trampas debo tener en cuenta? Los enlaces a ejemplos siempre son apreciados, por supuesto.

¿Fue útil?

Solución

Parece bastante pequeño, por lo que elaboraría un modelo de objeto apropiado, cargaría todo en la memoria y luego usaría LINQ to Objects.

No estoy muy seguro de lo que está preguntando en términos de "almacenamiento persistente" - ¿No estás solo leyendo los datos? ¿No lo tienes ya en los archivos de texto? No estoy seguro de por qué quieres presentar algo más.

Otros consejos

Importaría los archivos planos en SQL Server y accedería a través de la funcionalidad ADO.NET estándar. No solo el acceso a la base de datos es siempre mejor (más robusto y potente) que la E / S de archivos en lo que respecta a la consulta y manipulación de datos, sino que también puede aprovechar las capacidades de almacenamiento en caché de SQL Server, especialmente porque estos datos nutricionales no cambiarán también a menudo.

Si necesita descargar archivos planos actualizados periódicamente, busque desarrollar un servicio que sondee estos archivos e importe a SQL Server automáticamente.

EDITAR: me refiero a SQL Server, pero siéntase libre de usar cualquier DBMS.

Mi tentación sería importar los datos a SQL Server (Express si no está buscando implementar la aplicación) ya que es una fuente familiar para mí. Alternativamente, probablemente pueda crear una fuente de datos ODBC utilizando el controlador de archivo de texto para obtener una conexión similar a la base de datos.

Estoy de acuerdo en que se beneficiaría de una base de datos, especialmente para consultas rápidas, y aún más si está guardando los cambios de los usuarios en los datos. Para cargar los datos del archivo plano en un servidor SQL (incluido Express), puede usar SSIS.

Utilice Linq o datos de texto para enumerar el método

1.crear una lista.

2.Lea el archivo de texto línea por línea (o todas las líneas).

3.procese la línea: obtenga los datos necesarios y adjúntelos a la lista.

4.procese la lista para cualquier uso posterior.

el almacenamiento de persistencia será archivos y la lista es volátil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top