.net net嵌入式数据库

.net net嵌入式数据库,.net,sql,embedded-database,.net,Sql,Embedded Database,我需要一个嵌入式数据库为我们的一个.net应用程序 这个数据库应该支持sql(不像Berkley) 有人能提出一些建议吗。我能想到的主要选择是: (Linq支持) (Linq支持) 看看SQL Server Compact edition。它在proc中运行,是一个二进制文件,将数据存储在一个文件中,并且支持并发性(与包括SQLite在内的许多其他嵌入式DBs不同)。另外,如果您使用的是VisualStudio,您可能已经拥有了它。最后,它可以自由使用和重新发布 SQL Server

我需要一个嵌入式数据库为我们的一个.net应用程序

这个数据库应该支持sql(不像Berkley)


有人能提出一些建议吗。

我能想到的主要选择是:

  • (Linq支持)
  • (Linq支持)

看看SQL Server Compact edition。它在proc中运行,是一个二进制文件,将数据存储在一个文件中,并且支持并发性(与包括SQLite在内的许多其他嵌入式DBs不同)。另外,如果您使用的是VisualStudio,您可能已经拥有了它。最后,它可以自由使用和重新发布

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

我真的很喜欢自己(CMS也提到过)。它可以嵌入windows dll运行,iirc甚至还有一个内置核心驱动程序的混合二进制文件。它与ActiveRecord和NHibernate配合良好。大多数.Net类型很容易映射


与其他选项相比,切换到RDBMS模式的一个优点是只需将查询字符串更改为使用服务器,而不是嵌入式版本。如果您希望将来以Mono为目标,您也可以在Linux中运行它(不幸的是,不是在嵌入式模式下)。我只是想在这里晚些时候补充有关VistaDB的更多信息

我们的SQL语法与SQL Server语法非常接近,我们包括TSQL和CLR存储过程

在应用程序的进程中运行,您只需为32位和64位(100%托管代码)部署一个程序集。不能使用SQL CE执行此操作,因为必须部署不同的非托管程序集

你可以将VistaDB嵌入到你的应用程序中,甚至可以合并它,更改数据库名称,等等,以便对你的用户完全隐藏引擎(有些人对此非常感兴趣)

是的,它也可以在Mono上运行,因为它是100%托管代码。仍然存在一些问题(包括非Intel Mono机器)


充分披露-我是公司的所有者

与工具的良好集成。许可证要求是什么?成本?遗憾的是,它不是一个真正的二进制文件。它有几个本机DLL,这也造成了x86对x64的问题。对于托管代码,似乎只需要两个二进制文件:sqlceme35.dll和System.Data.SqlServerCe.dll。对于本机代码、同步服务等,还有其他BIN。您只能在CEN中创建表和索引,只需一篇关于实体框架和Firebird embedded的文章即可