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

本文关键字:数据库 应用程序 WPF | 更新日期: 2023-09-27 18:16:56

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

正如我在开头提到的,我是一个关于数据库的新手,所以任何建议都是感激的。

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

如果我没理解错的话,您是在寻找某种便携式数据库,对吗?在这种情况下,有多种现成的解决方案可以很好地与c#一起工作。

这些可能值得你一看:

  • SQLite
  • Microsoft SQL Server Compact (SQL CE)

完全成熟的数据库,可以作为嵌入式版本使用,而无需在后台运行服务器。

  • 火鸟
  • MySql(你可能首先想检查使用这个的许可证限制)

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

但是,仍然有很多其他的免费工具可供选择。你最喜欢的网络搜索引擎将成为你的朋友。: -)

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

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

我建议您看看如何设置代码优先数据库。这可能需要一些研究,但非常值得。特别是如果你对代码很熟悉,而且还没有数据库设置。这里有一个入门教程:http://msdn.microsoft.com/en-us/data/jj193542.aspx

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

SQL Server CE中存储过程支持的不足可以通过L2E查询的强大功能来弥补。唯一值得注意的限制是数据库文件大小(仅4 Gb)。另外,您可以静默地部署SQL Server CE运行时与您的应用程序(称为"私有部署")。