问题
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:
- It doesn't support "or" logic.
- 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