我刚开始写一个应用程序。它需要做的部分工作是在营养信息数据库上运行查询。我所拥有的是美国农业部的SR21 Datasets,采用平面分隔的ASCII文件形式。
我需要的是建议。我正在寻找将此数据导入应用程序的最佳方法,并在运行时轻松快速地查询。我将把它用于所有标准的东西。动态填充控件,Datagrids,计算等。我还需要进行用户特定的持久数据存储。这将不是一个商业应用程序,所以希望这开辟了可能性。我对.Net Framework 3.5没问题,所以Linq在访问数据时是可能的(只是不知道它是否是最好的解决方案)。那么,在这种情况下持久存储的一些建议是什么?我应该注意什么样的陷阱?当然,人们总是希望链接到示例。
答案 0 :(得分:1)
它看起来很小,所以我会找出一个合适的对象模型,将整个内容加载到内存中,然后使用LINQ to Objects。
我不太确定你在“持久存储”方面的问题 - 你不只是阅读数据吗?你不是已经在文本文件中有这个吗?我不确定你为什么要介绍别的东西。
答案 1 :(得分:0)
我会将平面文件导入SQL Server并通过标准ADO.NET功能进行访问。就数据查询和操作而言,DB访问不仅比文件I / O更好(更强大和更强大),而且还可以利用SQL Server的缓存功能,特别是因为这种营养数据也不会改变常。
如果您需要定期下载更新的平面文件,请考虑开发一个轮询这些文件并自动导入SQL Server的服务。
编辑:我指的是SQL Server,但随意使用任何DBMS。
答案 2 :(得分:0)
我的诱惑是将数据导入SQL Server(Express,如果你不打算部署应用程序),因为它对我来说是一个熟悉的来源。或者,您可以使用文本文件处理程序创建ODBC数据源,以获得类似数据库的连接。
答案 3 :(得分:0)
我同意您将从数据库中受益,特别是对于快速查询,如果您要保存用户对数据的更改,则更是如此。为了将平面文件数据加载到SQL Server(包括Express),您可以使用SSIS。
答案 4 :(得分:0)
使用Linq或文本数据列出方法
1.创建一个列表。
2.逐行(或所有行)读取文本文件。
3.处理该行 - 获取所需数据并附加到列表中。
4.处理列表以供进一步使用。
持久性存储将是文件而List是易失性的。