使用本地数据库的WPF C#应用程序

时间:2014-08-07 07:20:44

标签: c# sql wpf database sql-server-2014-express

在应用程序中使用数据库时,我是一个新手。我的任务(和目标)是使用C#在WPF中创建一个应用程序,它可以连接到/使用存储在用户计算机上的本地数据库。数据库“文件”应该易于加载并在机器之间移动,并且如果可能的话,在应用程序安装期间在用户的PC上创建。数据库需要从应用程序内部以及相应的DB管理工具中修改选项,以更新其大部分内容。对于此项目,DB的文件安全性不是问题。我知道我所描述的可能完全没有任何意义,我可以简单地将应用程序设置导出到文件中,但在这种情况下它不是我想要的。到目前为止,我已经在Microsoft SQL Server 2014 Express中创建了一个数据库,但说实话我不知道是否可以按照我所描述的方式将此数据库移动到另一台PC(至少在没有安装新的SQL Server实例的情况下)这台机器)。

正如我在开始时提到的,我是数据库的新手所以任何建议都值得赞赏。

4 个答案:

答案 0 :(得分:5)

如果我理解正确你正在寻找某种便携式数据库,对吧?在这种情况下,有多种已建立的解决方案可用于C#。

这些可能值得一看:

完全成熟的数据库,可以在没有服务器在后台运行的情况下用作嵌入式版本。

  • Firebird
  • MySql(您可能首先要查看使用此功能的许可限制。)

我的建议是 SQLite ,因为它很容易运行它。此外,还有许多免费提供的数据库管理工具。然而,我个人最喜欢的是付费产品Firebird Maestro。我发现使用它非常直观,虽然它是付费产品,但它仍然非常实惠(它们每年也有多个促销)。

但是,还有很多其他免费工具可供选择。您最喜欢的互联网搜索引擎将是您的朋友。 : - )

答案 1 :(得分:1)

我建议你看一下如何设置代码优先数据库。它可能需要一些研究,但它非常值得。特别是如果您对代码感到满意并且尚未安装数据库。以下是获取入门资格的教程:http://msdn.microsoft.com/en-us/data/jj193542.aspx

答案 2 :(得分:0)

您可以使用大量可嵌入数据库,每个数据库都有自己的优点和缺点。您可以使用SQLite,MS SQL CE或许多其他选择。

根据您的方案,您也可以使用XML或Json文件。

答案 3 :(得分:0)

我建议您选择SQL Server Compact(CE)而不是SQLite,原因如下:如果您使用的是Visual Studio Express版,则可以使用实体框架到SQL Server CE开箱即用。在这种情况下,SQLite将要求您拥有VS的付费版本。

SQL Server CE中缺少存储过程支持可能会被L2E查询的强大功能所补偿。唯一可观的限制是数据库文件大小(仅限4 Gb)。此外,您可以使用您的应用程序静默部署SQL Server CE运行时(称为"私有部署")。