我正在构建一个C#/ WPF作业搜索跟踪应用程序,以跟踪提交的简历,访谈,跟进等,并且不确定存储数据的最佳方式。你在哪里/如何存储数据?我的第一个想法是用XML来保持简单,但似乎我应该“模拟”我的数据,因为会有很多相关的信息位。 SQLite会是更好的选择吗?其他建议?存储应用程序数据的位置
回答
因为我假设你想要查询和更新数据,我甚至会建议像Entity Framework这样的ORM - 这很容易上手,如果你之前使用过LINQ,查询和更新等基本的东西将会非常简单 - 节省您编写自己的SQL查询的麻烦。如果您决定这么做,这也可以让您在稍后扩展您的模型。
编辑:
有自成一体重量轻的选择,将仍然允许您使用LINQ:
的Microsoft SQL Server Compact是一个免费 SQL Server嵌入式数据库非常适合 独立建立,偶尔会有 co移动 设备,桌面和Web客户端的应用程序。
这里是描述如何让LINQ to SQL在其上工作的一个article。显然你也可以使用use LINQ to Entities,但是有一些怪癖(比如设计时支持),你必须要解决。
的SQLite是 实现了一个自包含的,无服务器 ,零配置,事务性 SQL数据库引擎的软件库。 SQLite是世界上部署最广泛的SQL数据库引擎。
有一个LINQ提供程序叫DBLinq 作为@Robert哈维在他的回答中指出有(几乎)为EF的全力支持,因为有一个为SQLLite的ADO.NET提供:
支持在ADO.NET 3.5实体 框架
支持 Sql Server的支持几乎所有的 实体框架的功能,并传递的 在MS的测试99%的EFQuerySamples演示 应用程序。
通常,您想要将应用程序中的数据存储在数据库中。对于WPF和C#,该数据库通常是SQL Server或SQL Server Express,因为Visual Studio 2008可以轻松地与这些数据库集成。
不要为此使用XML。XML不打算成为一个大规模的存储介质; XML的目的是为不同的计算机系统提供一种通用语言来相互交流。
SQL Server Express可在任何Windows PC上使用;你只需要使用一个命名实例deploy the redistributable,。另请参阅http://msdn.microsoft.com/en-us/library/dd981032(SQL.100).aspx。如果它是一个小应用程序,并且你想变得更简单,那么可以使用SQL Server Compact Edition或SQLite与ADO.NET provider.
好的,谢谢。但我真的宁愿不必依赖运行的SQL Server实例。我希望它可以部署到任何Windows PC。 – BrazenTongue 2011-03-12 07:46:56
请参阅我的编辑.... – 2011-03-12 15:35:49
对于SQLite ADO.NET提供程序链接+1 – BrokenGlass 2011-03-12 16:40:22
- 1. 将数据存储在GUI应用程序中的位置?
- 2. 存储应用程序数据的位置?
- 3. 存储应用程序全局数据的位置?例如:
- 4. localForage数据将存储在iPad应用程序中的位置?
- 5. Windows应用程序存储位置
- 6. 在Shiny应用程序中存储Twitter凭据的位置?
- 7. 将数据库凭据存储在Web应用程序中的位置?
- 8. iPhone应用程序的数据存储
- 9. GWT应用程序的数据存储位置 - GAE数据存储区或XML文件
- 10. 更改应用程序设置文件的存储位置
- 11. 存储应用程序全局设置的位置?
- 12. 存储应用程序设置的位置
- 13. 存储常见应用程序设置的位置
- 14. 在android设备上存储大型应用程序数据的位置?
- 15. 将临时数据存储在ASP.NET应用程序中的位置
- 16. 什么是跨应用程序存储数据的最佳位置
- 17. 在Eclipse RCP应用程序中存储“全局”数据的位置?
- 18. 应用程序数据在Windows 7和Vista中的存储位置
- 19. 哪里是存储Mac应用程序数据库的正确位置?
- 20. 在公共栏应用程序中存储敏感数据的位置?
- 21. 应用程序池元数据存储在IIS中的位置6
- 22. 从C#应用程序存储数据
- 23. facebook应用程序存储数据(mp3)
- 24. 为iPhone应用程序存储数据
- 25. 存储应用程序敏感数据
- 26. 在Web应用程序的数据库上存储设置?
- 27. 存储使用移动应用程序的城市或位置
- 28. 存储或不存储Facebook应用程序中的数据
- 29. 用于存储应用程序数据的跨平台数据存储?
- 30. 将Ninject IKernel存储在Web应用程序中的位置?
谢谢。我刚刚学过实体框架,并希望使用LINQ to Entities,但我希望找到一个轻量级的单个文件数据存储/提供程序。有什么建议么? – BrazenTongue 2011-03-12 07:48:23
@BrazenTongue:用备选方案更新答案 – BrokenGlass 2011-03-12 16:28:38