C#最成熟的MongoDB驱动程序是什么?

所以,有

  • MongoDB的-CSHARP
  • 简单的MongoDB
  • 规范

作为MongoDB的C#驱动程序可用。

哪一个是最成熟稳定的? 你为什么选择其他两个呢?

他们生产准备好了吗?

mongodb-csharp驱动程序即将在支持typedcollections方面做出巨大努力,其中包括完整的Linq支持。 我想你会发现它很容易上class。

其他两个项目也在前进。 如果你想要.NET 4.0支持,simple-mongodb将是你最好的选择。

NoRM有一大堆提交者,他们都是伟大的编码员,所以没有问题,除非它没有官方发布。

自从这个问题得到解答以来,10gen已经发布了一个官方的MongoDB C#驱动程序 ,虽然它不是年龄方面最成熟的C#驱动程序,但10gen背后它最终可能是最新的。

它比mongodb-csharp驱动程序更低级别(目前没有Linq支持),但我们没有发现这是一个问题。 我们最近从一个项目(尚未投入生产)转移到mongodb-csharp的官方驱动程序,原因如下:

  • 副本集在官方发行版中提供支持
  • SafeMode允许您指定必须将写入复制到多少台服务器
  • 驱动程序处理连接/断开连接到数据库
  • 我们希望作为官方驱动程序,它将获得更多的开发人员支持

我会选择Sam Corder的mongodb-csharp 。 还要查看这篇文章。

对于所有好奇的人。 在这一点上最好的组合似乎是官方10gen C#驱动程序与流利mongo结合使用Linq支持:

https://github.com/mongodb/mongo-csharp-driver

https://github.com/craiggwilson/fluent-mongo

更新:在官方C#驱动程序的1.4版本中,不再需要流利的mongo了。

您应该使用此nuget包中的MongoDB.Driver 。

您可以查看观看此video的MongoC#示例的完整教程https://www.youtube.com/watch?v=6×0-vHHHpv8

有几个原因可以避免使用mongodb-csharp驱动程序:

  1. 它不支持“或”逻辑。
  2. 它似乎不支持地理空间查询,至少我们无法使其正常工作。

官方10gen C#驱动程序的类型化构建器(Update <>,Query <>)存在性能问题。 请参阅如何在10gen官方MongoDB C#驱动程序中加速键入的构建器?