9

在应用程序中使用数据库时,我是新手。我的任务(以及某种目标)是使用 C# 在 WPF 中创建一个应用程序,该应用程序可以连接/使用存储在用户计算机上的本地数据库。数据库“文件”应该易于在机器之间加载和移动,并且如果可能,在应用程序安装期间在用户的 PC 上创建。数据库需要有一个从应用程序内部以及从相应数据库的管理工具中修改的选项,以更新其大部分内容。就本项目而言,DB 的文件安全性不是问题。我知道我所描述的可能根本没有意义,我可以简单地将应用程序设置导出到文件中,但在这种情况下,这不是我想要的。

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

4

4 回答 4

8

如果我理解正确,您正在寻找某种便携式数据库,对吗?在这种情况下,有多种已建立的解决方案可以很好地与 C# 配合使用。

这些是一些可能值得你看看:

无需在后台运行服务器即可用作嵌入式版本的完整数据库。

  • 火鸟
  • MySql(您可能首先要检查使用它的许可证限制。)

我的推荐是SQLite,因为它很容易上手。此外,还有许多免费的数据库管理工具。然而,我个人最喜欢的是付费产品Firebird Maestro。我发现使用它非常直观,虽然它是一种付费产品,但它仍然很实惠(他们每年也有多次促销活动)。

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

于 2014-08-07T07:31:11.243 回答
1

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

于 2014-08-07T07:31:06.427 回答
0

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

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

于 2014-08-07T07:28:28.830 回答
0

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

L2E 查询的强大功能可以弥补 SQL Server CE 中存储过程支持的不足。唯一相当大的限制是数据库文件大小(仅限 4 Gb)。此外,您可以在应用程序中静默部署 SQL Server CE 运行时(称为“私有部署”)。

于 2014-12-24T11:41:47.247 回答