存储应用程序数据的位置

时间:2011-03-12 04:42:18

标签: c# wpf xml sqlite

我正在构建一个C#/ WPF求职跟踪应用程序,以跟踪提交的简历,访谈,跟进等,并且不确定存储数据的最佳方式。您将在何处/如何存储数据?我首先想到的是保持简单的XML,但似乎我应该“模拟”我的数据,因为会有很多相关的信息。 SQLite会是一个更好的选择吗?其他建议?

2 个答案:

答案 0 :(得分:4)

由于我假设你想要查询和更新那些数据,我甚至建议像实体框架这样的ORM - 它很容易上手,如果你之前使用过LINQ,那么查询和更新等基本内容将非常简单 - 保存你编写自己的SQL查询的麻烦。如果您决定这样做,这也可以让您以后轻松扩展您的模型。

修改

有一些独立的轻量级替代品仍然可以让你使用LINQ:

<强> SQL Server Compact

  

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

这里是一个article,它描述了如何让LINQ to SQL对其进行处理。显然你也可以use LINQ to Entities,但是你必须解决这些问题(比如设计时支持)。

SQLLite

  

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

有一个名为DBLinq的LINQ提供商 正如@Robert Harvey在他的回答中指出的那样(几乎)完全支持EF,因为有一个针对SQLLite的ADO.NET提供者:

  

支持ADO.NET 3.5实体   框架

     

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

答案 1 :(得分: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.