我需要一个用于我们的.net应用程序的嵌入式数据库.
这个数据库应该支持sql(与Berkley不同).
任何人都可以建议任何选择
我认为的主要选择是:
SQLite的
SQL Server Compact(Linq支持)
VistaDB(Linq支持)
SharpHSQL
嵌入式Firebird
黑鱼SQL
我想在这里提供有关VistaDB的更多信息.
我们的SQL语法与SQL Server语法非常接近,我们包括TSQL和CLR存储过程.
在您的应用程序中运行,您只需为32位和64位(100%托管代码)部署1个程序集.您无法使用SQL CE执行此操作,因为您必须部署不同的非托管程序集.
您可以将VistaDB与您的应用程序嵌入甚至ILMERGE,更改数据库名称等,以完全隐藏您的用户的引擎(有些人真的很重要).
是的它也可以在Mono上运行,因为它是100%托管代码.还有一些问题(包括非英特尔单声道机器).
完全披露 - 我是公司的所有者
看看SQL Server Compact版.它运行在进程中,它是一个单独的二进制文件,它将数据存储在一个文件中,它支持并发(与许多其他嵌入式数据库不同,包括SQLite).另外,如果您使用的是Visual Studio,则可能已经拥有它.最后,它可以自由使用和重新分配.
SQL Server Compact Edition是.NET Compact框架的明智选择.我发现Arcane Code是一个非常有用的学习SSCE的网站.他是SQL Server的MVP,专注于CE.