.net 嵌入式数据库

elcex8rz  于 2023-03-31  发布在  .NET
关注(0)|答案(6)|浏览(134)

我需要一个嵌入式数据库为我们的一个。net应用程序。
此数据库应支持SQL(与Berkley不同)。
任何人都可以提出任何选择。

jgwigjjp

jgwigjjp2#

我只是想在这里晚些时候补充更多关于VistaDB的信息。
我们的SQL语法与SQL Server语法非常接近,并且我们包括TSQL和CLR存储过程。
与应用程序在进程中运行,并且您只需为32位和64位(100%托管代码)部署1个程序集。您无法使用SQL CE执行此操作,因为您必须部署不同的非托管程序集。
你可以将VistaDB嵌入到你的应用程序中,甚至ILMERGE,更改数据库名称等,以完全隐藏引擎,不让用户看到(有些人在这方面真实的厉害)。
是的,它也可以在Mono上运行,因为它是100%托管代码。仍然有一些问题(包括非英特尔Mono机器)。
充分披露-我是公司的所有者

c90pui9n

c90pui9n3#

看看SQL Server Compact版本。它运行在进程中,它是一个二进制文件,它将数据存储在一个文件中,并且它支持并发(与许多其他嵌入式数据库不同,包括SQLite)。另外,如果您使用Visual Studio,您可能已经拥有它。最后,它可以免费使用和重新分发。

mgdq6dx1

mgdq6dx14#

SQL Server Compact Edition是.NET Compact Framework的明智选择。我发现Arcane Code是学习SSCE的非常有帮助的网站。他是SQL Server的MVP,专注于CE。

whitzsjs

whitzsjs5#

我真的很喜欢FirebirdSQL我自己(也提到了CMS)。它可以运行嵌入与windows dll的,iirc甚至有一个混合的二进制与核心驱动程序内置在这一点。它与ActiveRecord,以及NHibernate工作得很好。大多数.NET类型Map容易。
与其他选项相比,切换到RDBMS模式的一个优点是,只需更改查询字符串以使用服务器,而不是嵌入式版本。如果您希望将来针对Mono,您也可以在Linux中运行它(不幸的是不是嵌入式模式)。

g52tjvyc

g52tjvyc6#

SQLite绝对是一个流行的数据库,但它是原生C++。如果你正在寻找一个纯.NET DB,那么LiteDB我认为值得考虑:
参见https://tomaskohl.com/code/2020-04-07/trying-out-litedb/https://www.litedb.org/docs/getting-started/

相关问题