C# .NET/Mono数据库引擎

C# .NET/Mono数据库引擎,c#,.net,database,mono,C#,.net,Database,Mono,是否有完全在.NET和Mono兼容中实现的DB引擎? 我希望有一个DB解决方案可以通过Mono在所有平台上运行,这样我就不必担心每个平台都有单独的本机二进制文件。我不久前读到,现在有一个HSQLDB的.NET端口(100%Java数据库,我假设.NET端口是100%.NET代码)。现在似乎是下降了,但你应该看一看。正在瞄准这一点。我不确定Mono是否支持。是一个对象数据库引擎(用Java和C#编写),它可以在Mono下顺利编译/运行。完全是.NET,并且在Mono上受支持。你可以将你的DB服务器

是否有完全在.NET和Mono兼容中实现的DB引擎?
我希望有一个DB解决方案可以通过Mono在所有平台上运行,这样我就不必担心每个平台都有单独的本机二进制文件。

我不久前读到,现在有一个HSQLDB的.NET端口(100%Java数据库,我假设.NET端口是100%.NET代码)。现在似乎是下降了,但你应该看一看。

正在瞄准这一点。我不确定Mono是否支持。

是一个对象数据库引擎(用Java和C#编写),它可以在Mono下顺利编译/运行。

完全是.NET,并且在Mono上受支持。你可以将你的DB服务器嵌入到你的应用程序中,这样就没有额外的设置。唯一的问题是这不是一个免费的产品

有一个.NET版本,并且是开源的,它也运行在Mono上。它还有一个Lucene适配器,以防你想用它进行搜索

还可以查看此页面,在Mono下列出支持的数据提供程序等


SQLite不是.NET中写的,但是有.NET适配器(带有LINQ到实体支持),它可以移植到所有你可能考虑的平台上(它被用于Firefox、Safari、Adobe LyTroum、Apple的光圈和Skype)。如果您正在寻找一个经过验证的、广泛采用的、开放许可证的db,它是一个很好的竞争者


然而,db4o当然是一个值得一提的好选择,特别是因为它可以很容易地集成到OO环境中(基于sql的db往往不这样做)。

csharp sqlite

如果我是你,我会更喜欢MongoDB和Norm C#driver

其他答案中建议使用完全托管,但迄今为止没有任何版本支持Linux或Mac OS X,尽管可以使用Mono C#编译器进行编译

未来的版本将在那些非Windows平台上正确运行Mono运行时。有一些注意事项,它包含了现在可以使用的工作代码。

我有一个正在运行中的代码-它是sill

XCOPY可部署 透明-对象*上不需要Id属性。 这是麻省理工学院的执照 它有一个非常小的代码基。 它使用JSON事务日志来记录更改(因此您的对象需要是JSON可序列化的)。可以写入磁盘,也可以在内存中进行测试
具有乐观并发性的事务会话(也称为工作单元)可以在大多数.NET和基于Mono的平台上运行,包括.NET、Mono、Unity3D、,Xamarin

我也忘了提到的一点是,您可以始终使用抽象的DAL设计应用程序,这样您就可以调用CommonDataProvider.GetInstance()之类的东西,而不是直接调用DB,这样您就可以引用配置文件中设置的提供程序。然后,您可以针对MSSQL,也可以针对MySQL、Oracle等,并针对每一个目标优化代码。这就是社区服务器、涂鸦和dotnet nuke等应用程序的工作原理。时间安排很搞笑;-)。不过,在端口成熟之前,我最初仍然使用本机绑定。太好了!这看起来太棒了。虽然当前版本的csharp sqlite(3.7.7)与Mono兼容,但如果不对源代码进行一些更改,它既不兼容Linux也不兼容Mac OS X/希望下一个版本将完全支持Mac OS X/Linux。