What is the most mature MongoDB driver for C#?

荒凉一梦 提交于 2019-12-18 10:51:03

问题


So, there are

  • mongodb-csharp
  • simple-mongodb
  • NoRM

as C# drivers for MongoDB available.

Which one of them is the most mature and stable one? Why would you choose one over the other two?

Are they production ready?


回答1:


The mongodb-csharp driver is about to make a huge push regarding support for typedcollections which will include full Linq support. I think you'll find that it is easy to work.

The other 2 projects are also steaming ahead. If you want .NET 4.0 support, simple-mongodb would be your best bet.

NoRM has a whole bunch of committers who are all great coders, so no problem with it except it doesn't have an official release.




回答2:


Since this question was answered 10gen have released an official MongoDB C# driver, and although it isn't the most mature C# driver in terms of age, with 10gen behind it it may end up as the most up to date.

It is more low level than the mongodb-csharp driver (no Linq support at the moment) but we haven't found that to be a problem. We moved to the official driver from mongodb-csharp recently on a project (that isn't in production yet) for the following reasons:

  • Replica Set support in an official release
  • SafeMode allows you to specify how many servers a write must be replicated to
  • The driver handles connecting/disconnecting to the database
  • We're hoping that as an official driver, it will have more developer support



回答3:


I'd go with Sam Corder’s mongodb-csharp. Also checkout this article.




回答4:


For all curious out there. The best combination at this point seems to be official 10gen C# driver combined with fluent-mongo for Linq support:

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

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

Update: with release 1.4 of official C# driver, there'll be no need in fluent-mongo anymore.




回答5:


You should use MongoDB.Driver from this nuget package.

You can view the full tutorials for the MongoC# example looking at this video https://www.youtube.com/watch?v=6x0-vHHHpv8




回答6:


A couple reasons to avoid the mongodb-csharp driver:

  1. It doesn't support "or" logic.
  2. It doesn't seem to support geospatial queries, at least we were not able to get it working.



回答7:


There is a performance issue in typed builders (Update<>, Query<>) of official 10gen C# driver. See How to speed up typed builders in 10gen official MongoDB C# driver?



来源:https://stackoverflow.com/questions/2735246/what-is-the-most-mature-mongodb-driver-for-c

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!