使用本地数据库的 WPF C# 应用程序
Posted
技术标签:
【中文标题】使用本地数据库的 WPF C# 应用程序【英文标题】:WPF C# application using local database 【发布时间】:2014-09-30 08:02:50 【问题描述】:在应用程序中使用数据库时,我是个新手。我的任务(以及某种目标)是使用 C# 在 WPF 中创建一个应用程序,该应用程序可以连接/使用存储在用户计算机上的本地数据库。数据库“文件”应该易于在机器之间加载和移动,并且如果可能,在应用程序安装期间在用户的 PC 上创建。数据库需要有一个从应用程序内部以及从相应数据库的管理工具中修改的选项,以更新其大部分内容。就本项目而言,DB 的文件安全性不是问题。我知道我所描述的可能根本没有意义,我可以简单地将应用程序设置导出到文件中,但在这种情况下,这不是我想要的。到目前为止,我已经在 Microsoft SQL Server 2014 Express 中创建了一个数据库,但老实说,我不知道是否可以按照我所描述的方式将此数据库移动到另一台 PC(至少在没有安装新的 SQL Server 实例的情况下)这台机器)。
正如我在开头提到的那样,我是数据库方面的新手,因此不胜感激。
【问题讨论】:
【参考方案1】:如果我理解正确,您正在寻找某种便携式数据库,对吧?在这种情况下,有多种已建立的解决方案可以很好地与 C# 配合使用。
以下是一些可能值得你看看的:
SQLite Microsoft SQL Server Compact (SQL CE)完整的数据库,可以用作嵌入式版本,无需在后台运行服务器。
Firebird mysql(您可能首先要检查使用它的许可限制。)我的建议是 SQLite,因为它很容易上手。此外,还有许多免费的数据库管理工具。然而,我个人最喜欢的是付费产品Firebird Maestro。我发现使用它非常直观,虽然它是一种付费产品,但它仍然很实惠(他们每年也有多次促销活动)。
不过,还有很多其他免费工具可供选择。您最喜欢的互联网搜索引擎将成为您的朋友。 :-)
【讨论】:
【参考方案2】:我建议您看看如何设置代码优先数据库。它可能需要一些研究,但它非常值得。特别是如果您对代码感到满意并且还没有数据库设置。这是入门教程:http://msdn.microsoft.com/en-us/data/jj193542.aspx
【讨论】:
实体框架代码首先确实按照您在此处描述的那样工作。它使用完整的数据库,需要在执行任何操作之前将其预安装在设备上。就算你用的是localDB版本的SQL Server,也还是140Mb的安装... 已编辑,因此听起来像是走在路上。仍然值得研究。如果您熟悉 c#,甚至可以更快地完成工作。【参考方案3】:您可以使用大量的嵌入式数据库,每个都有自己的优点和缺点。您可以使用 SQLite、MS SQL CE 或任何其他多种选择。
根据您的场景,您也可以使用 XML 或 Json 文件。
【讨论】:
【参考方案4】:我建议您选择 SQL Server Compact (CE) 而不是 SQLite,原因如下:如果您使用 Visual Studio Express 版本,您将能够使用 Entity Framework 到 SQL Server CE 开箱即用。在这种情况下,SQLite 将要求您拥有 VS 的付费版本。
L2E 查询的强大功能可以弥补 SQL Server CE 中存储过程支持的不足。唯一相当大的限制是数据库文件大小(仅限 4 Gb)。此外,您可以在应用程序中静默部署 SQL Server CE 运行时(称为“私有部署”)。
【讨论】:
以上是关于使用本地数据库的 WPF C# 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
WebView2 (WPF) - 从本地文件夹加载网站并调用 C# 函数并调用 JS 函数