繁体   English   中英

C#中的无服务器数据库

[英]Serverless Database in C#

在这里完成新手问题:我是第一次玩C#并想制作一个Windows Forms应用程序,它将一些信息存储在数据库结构中,但显然不希望在每个客户端上安装像MySQL这样的东西电脑。 我该怎么做?

您可以使用SQLite 它不需要客户端计算机上的任何安装或服务器。 这是一篇描述如何在.NET中使用它的博客 它易于使用,只需添加对System.Data.SQLite.dll的引用即可。

这是.NET的开源数据提供程序: System.Data.SQLite

主页“SQLite是一个实现自包含,无服务器,零配置,事务SQL数据库引擎的软件库.SQLite是世界上部署最广泛的SQL数据库引擎.SQLite的源代码在公共领域。

您使用不需要安装的数据库。 有一些 - 那里有Microsoft SQL Server Compact ,坦率地命名不好,因为它不支持更有用的SQL函数,如存储过程,视图等。 还有VistaDB支持存储过程,但如果你想要Visual Studio插件需要购买。

答案是嵌入式数据库。 你有很多可以使用的嵌入式数据库:

商业:

  1. VistaDB - 该数据库完全用托管C#编写。

开源:

  1. Firebird - .NET驱动程序
  2. SQLite - .NET驱动程序

您可以将数据写入XML文件,或者您可以查看Sql Server Compact Edition

您还可以使用对象并将这些对象序列化/反序列化为二进制文件。

当然,您选择的存储类型很大程度上取决于您要存储的数据类型(以及数据量)。

从.NET 3.5开始,一种简单的方法是将数据存储在XML文件中,并使用Linq to XML 这允许您对数据使用类似SQL的命令,这些命令实际编译到您的应用程序中,因此您可以获得完整的IDE IntelliSense支持和错误检查。

也许您可以序列化数据集并将其另存为XML。 我有点困惑,如果你在玩游戏,你需要在所有客户端的计算机上安装MySQL。 你可以看一下使用免费的SQL Express吗?

Serialise数据集:

http://blogs.msdn.com/yosit/archive/2003/07/10/9921.aspx http://msdn.microsoft.com/en-us/magazine/cc163911.aspx

最简单的方法是SQL Server Compact,因为它直接集成到Visual Studio IDE中(我只是冒犯了你使用VS的猜测)。 添加“本地数据库”,创建表,并确保使用选择,更新,插入和删除方法制作表适配器。 如果在数据库创建期间您调用了数据集“DS”,则可以从中实例化表适配器对象

DSTableAdapters 

命名空间,使用GetData()或Fill()方法检索数据,使用Insert(),Update()和Delete()来管理它。

VelocityDB在服务器较少的模式下工作,但也可以在需要时与服务器结合使用。 它的表现大致相当于这里提到的所有其他选择,请参见此处的比较 它允许您持久使用几乎任何.NET数据结构。 整个数据库引擎和可选服务器使用C#代码实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM