是否有任何完全采用.NET和Mono兼容的数据库引擎?我希望拥有一个能够通过Mono在所有平台上运行的数据库解决方案,这样我就不必担心为每个平台单独构建本地二进制文件。
SQLite并非使用.NET编写,但有一个.NET适配器(支持linq to entities),并且可在您可能考虑的所有平台上使用(例如,在firefox、safari、adobe lightroom、apple's aperture和skype中使用)。如果您正在寻找经过验证、广泛采用、开放许可的数据库,SQLite是一个很好的选择。
然而,db4o肯定是一个好的替代方案,特别是因为它可以轻松地集成到OO环境中(而基于SQL的数据库则往往不能)。
如果我是你,我也会选择MongoDB以及Norm C#驱动程序。
其他答案中建议使用完全托管的C# SQLite3端口,但迄今为止尽管可以使用Mono C#编译器进行编译,但没有支持Linux或Mac OS X的版本。
未来的版本将在这些非Windows平台上正确运行,并配合Mono运行时使用。有一些注意事项,源代码存储库包含可立即使用的工作代码。
我正在https://github.com/mcintyre321/PieDb上进行一个项目 - 它非常实用
可以通过XCOPY部署 透明 - 您不需要在对象上拥有Id属性*。 它是MIT许可证 它具有非常小的代码库。 它使用JSON事务日志记录更改(因此您的对象需要是Json可序列化的)。可以写入磁盘,也可以在内存中进行测试 事务会话(又称工作单元),具有乐观并发性
我最近读到有一个 .NET 版本的 HSQLDB(一个 100% 的 Java 数据库,我认为 .NET 版本是 100% 的 .NET 代码)。网站 现在似乎无法访问,但你应该去看看。