1

我刚开始写一个应用程序。它需要做的部分工作是对营养信息数据库进行查询。我所拥有的是美国农业部的SR21 数据集,格式为平面分隔的 ASCII 文件。

我需要的是建议。我正在寻找将这些数据导入应用程序并在运行时轻松快速地查询它的最佳方法。我会将它用于所有标准的东西。动态填充控件、数据网格、计算等。我还需要进行用户特定的持久数据存储。这不会是一个商业应用程序,所以希望这会打开可能性。我对 .Net Framework 3.5 很好,所以在访问数据时可以使用 Linq(只是不知道它是否是最好的解决方案)。那么,对于这种场景下的持久化存储有哪些建议呢?我应该注意什么样的陷阱?当然,总是很欣赏示例的链接。

4

5 回答 5

1

它看起来很小,所以我会制定一个合适的对象模型,将全部加载到内存中,然后使用 LINQ to Objects。

我不太确定您在“持久存储”方面要问什么-您不只是在读取数据吗?你不是已经在文本文件中有了吗?我不知道你为什么要介绍其他东西。

于 2008-11-06T16:28:52.987 回答
0

我会将平面文件导入 SQL Server 并通过标准 ADO.NET 功能进行访问。就数据查询和操作而言,数据库访问不仅总是比文件 I/O 更好(更健壮和强大),而且您还可以利用 SQL Server 的缓存功能,特别是因为这些营养数据也不会改变经常。

如果您需要定期下载更新的平面文件,那么请考虑开发一种服务来轮询这些文件并自动导入 SQL Server。

编辑:我指的是 SQL Server,但可以随意使用任何 DBMS。

于 2008-11-06T16:30:20.177 回答
0

我的想法是将数据导入 SQL Server(如果您不打算部署应用程序,请使用 Express),因为它对我来说是一个熟悉的来源。或者,您可以使用文本文件处理程序创建一个 ODBC 数据源,以获得类似数据库的连接。

于 2008-11-06T16:31:21.000 回答
0

我同意您将从数据库中受益,特别是对于快速查询,如果您正在保存用户对数据的更改,则更是如此。为了将平面文件数据加载到 SQL Server(包括 Express)中,您可以使用 SSIS。

于 2008-11-06T16:57:18.967 回答
0

使用 Linq 或文本数据列出方法

1.创建一个列表。

2.逐行(或所有行)读取文本文件。

3.处理线路 - 获取所需数据并附加到列表中。

4.处理列表以供进一步使用。

持久性存储将是文件,而 List 是易失的。

于 2017-12-20T05:14:34.707 回答