Какой самый зрелый драйвер MongoDB для C#?
Итак, есть
- MongoDB-CSharp
- простой MongoDB
- Норма
В качестве драйверов C# для MongoDB доступны.
Какой из них является наиболее зрелым и стабильным? Почему вы выбрали один из двух?
Готовы ли они к производству?
7 ответов
Драйвер mongodb-csharp собирается сделать огромный толчок в отношении поддержки типизированных коллекций, которые будут включать полную поддержку Linq. Я думаю, вы обнаружите, что это легко работать.
Другие 2 проекта также находятся в стадии разработки. Если вам нужна поддержка.NET 4.0, то лучшим вариантом будет простой-mongodb.
У NoRM есть целая куча коммиттеров, которые все являются хорошими программистами, так что никаких проблем с этим нет, за исключением того, что у него нет официального релиза.
С тех пор, как на этот вопрос был дан ответ, 10gen выпустили официальный драйвер MongoDB C#, и, хотя он не самый зрелый драйвер C# по возрасту, с 10gen за ним он может оказаться самым современным.
Это более низкий уровень, чем драйвер mongodb-csharp (на данный момент поддержки Linq нет), но мы не обнаружили в этом проблемы. Мы недавно перешли к официальному драйверу из mongodb-csharp для проекта (который еще не запущен) по следующим причинам:
- Реплика Set поддержки в официальном выпуске
- SafeMode позволяет указать, на сколько серверов должна быть реплицирована запись
- Драйвер обрабатывает подключение / отключение к базе данных
- Мы надеемся, что в качестве официального драйвера у него будет больше поддержки для разработчиков
Я бы пошел с mongodb-csharp Сэма Кордера. Также ознакомьтесь с этой статьей.
Для всех любопытных там. Лучшая комбинация на данный момент - официальный драйвер 10gen C# в сочетании с fluent-mongo для поддержки Linq:
https://github.com/mongodb/mongo-csharp-driver
https://github.com/craiggwilson/fluent-mongo
Обновление: с выпуском 1.4 официального драйвера C# больше не нужно будет свободно говорить на монго.
Вы должны использовать MongoDB.Driver из этого пакета nuget.
Вы можете просмотреть полные учебные пособия для примера MongoC#, посмотрев это видео https://www.youtube.com/watch?v=6x0-vHHHpv8
Несколько причин избегать драйвера mongodb-csharp:
- Он не поддерживает "или" логику.
- Кажется, он не поддерживает геопространственные запросы, по крайней мере, мы не смогли заставить его работать.
Существует проблема производительности в типизированных сборщиках (Update<>, Query<>) официального драйвера 10gen C#. См. Как ускорить типизированные сборки в 10gen официальном драйвере MongoDB C#?