2011-03-12 52 views
0

我正在构建一个C#/ WPF作业搜索跟踪应用程序,以跟踪提交的简历,访谈,跟进等,并且不确定存储数据的最佳方式。你在哪里/如何存储数据?我的第一个想法是用XML来保持简单,但似乎我应该“模拟”我的数据,因为会有很多相关的信息位。 SQLite会是更好的选择吗?其他建议?存储应用程序数据的位置

回答

4

因为我假设你想要查询和更新数据,我甚至会建议像Entity Framework这样的ORM - 这很容易上手,如果你之前使用过LINQ,查询和更新等基本的东西将会非常简单 - 节省您编写自己的SQL查询的麻烦。如果您决定这么做,这也可以让您在稍后扩展您的模型。

编辑:

有自成一体重量轻的选择,将仍然允许您使用LINQ:

SQL Server Compact

的Microsoft SQL Server Compact是一个免费 SQL Server嵌入式数据库非常适合 独立建立,偶尔会有 co移动 设备,桌面和Web客户端的应用程序。

这里是描述如何让LINQ to SQL在其上工作的一个article。显然你也可以使用use LINQ to Entities,但是有一些怪癖(比如设计时支持),你必须要解决。

SQLLite

的SQLite是 实现了一个自包含的,无服务器 ,零配置,事务性 SQL数据库引擎的软件库。 SQLite是世界上部署最广泛的SQL数据库引擎。

有一个LINQ提供程序叫DBLinq 作为@Robert哈维在他的回答中指出有(几乎)为EF的全力支持,因为有一个为SQLLite的ADO.NET提供:

支持在ADO.NET 3.5实体 框架

支持 Sql Server的支持几乎所有的 实体框架的功能,并传递的 在MS的测试99%的EFQuerySamples演示 应用程序。

+0

谢谢。我刚刚学过实体框架,并希望使用LINQ to Entities,但我希望找到一个轻量级的单个文件数据存储/提供程序。有什么建议么? – BrazenTongue 2011-03-12 07:48:23

+0

@BrazenTongue:用备选方案更新答案 – BrokenGlass 2011-03-12 16:28:38

3

通常,您想要将应用程序中的数据存储在数据库中。对于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.

+0

好的,谢谢。但我真的宁愿不必依赖运行的SQL Server实例。我希望它可以部署到任何Windows PC。 – BrazenTongue 2011-03-12 07:46:56

+0

请参阅我的编辑.... – 2011-03-12 15:35:49

+0

对于SQLite ADO.NET提供程序链接+1 – BrokenGlass 2011-03-12 16:40:22

相关问题