我需要一个用于我们的 .net 应用程序之一的嵌入式数据库。
该数据库应该支持 sql(与 Berkley 不同)。
任何人都可以提出任何选择。
我需要一个用于我们的 .net 应用程序之一的嵌入式数据库。
该数据库应该支持 sql(与 Berkley 不同)。
任何人都可以提出任何选择。
我只是想在这里晚些时候加入有关 VistaDB 的更多信息。
我们的 SQL 语法与 SQL Server 语法非常接近,我们包括 TSQL 和 CLR 存储过程。
与您的应用程序一起运行,您只需为 32 位和 64 位(100% 托管代码)部署 1 个程序集。您不能使用 SQL CE 执行此操作,因为您必须部署不同的非托管程序集。
您可以将 VistaDB 嵌入您的应用程序甚至 ILMERGE 中,更改数据库名称等以对用户完全隐藏引擎(有些人对此非常重视)。
是的,它也可以在 Mono 上运行,因为它是 100% 托管代码。仍然存在一些问题(包括非英特尔 Mono 机器)。
全面披露——我是公司的所有者
查看 SQL Server Compact 版本。它在进程内运行,它是单个二进制文件,将其数据存储在单个文件中,并且支持并发(与许多其他嵌入式 DB 不同,包括 SQLite)。另外,如果您使用的是 Visual Studio,您可能已经拥有它。最后,它可以免费使用和重新分发。
SQL Server Compact Edition 是 .NET 紧凑框架的明智选择。我发现Arcane Code是学习 SSCE 的一个非常有用的网站。他是 SQL Server 的 MVP,专注于 CE。
我自己真的很喜欢FirebirdSQL(CMS 也提到过)。它可以嵌入windows dll运行,iirc甚至还有一个混合二进制文件,其中包含为此内置的核心驱动程序。它也适用于 ActiveRecord 和 NHibernate。大多数 .Net 类型很容易映射。
与其他选项相比,一个优势是切换到 RDBMS 模式只需将查询字符串更改为使用服务器,而不是嵌入式版本。如果您希望将来以 Mono 为目标,您也可以在 Linux 中使用它(不幸的是不是在嵌入式模式下)。