Entity Framework и MongoDb - PullRequest
       6

Entity Framework и MongoDb

59 голосов
/ 23 июля 2011

Возможно ли, что Entity Framework поддерживает базу данных MongoDb? Может, кто-нибудь напишет поставщика EF MongoDb?

Ответы [ 6 ]

51 голосов
/ 23 июля 2011

Краткий ответ - нет, это точно возможно, но не разумно.

MongoDB является базой данных документов и не поддерживает какие-либо физические отношения между коллекциями.EF хорошо подходит для реляционных баз данных, таких как SQL, MySQL и т. Д. MongoDB быстрее работает со встроенными документами.Так что это просто два разных подхода.

36 голосов
/ 10 мая 2012

Проверьте последнюю версию библиотеки MongoDB C # .... поддерживает LINQ!

http://www.mongodb.org/display/DOCS/CSharp+Driver+LINQ+Tutorial

7 голосов
/ 05 июня 2012

Я большой поклонник фреймворка для сущностей, поэтому, когда я впервые попробовал mongoDb, я создал библиотеку MongoDB.Dynamic, которая имеет подход, следующий за EF Code First. MongoDB не имеет физических связей между коллекциями, но вы можете смоделировать их. MongoDB.Dynamic имеет функцию, известную как Eager Loading, которая позволяет настраивать отношения между коллекциями и загружать связанные документы автоматически, если у объекта есть условная структура. Вы можете попробовать прочитать документацию по адресу MongoDB.Dynamic

2 голосов
/ 14 ноября 2015

Посмотрев в Интернете, RSSBus, похоже, создал dll MongoDBProviderServices, который можно использовать с платформой сущностей 6.

http://cdn.rssbus.com/help/DG1/ado/pg_ef6.htm

Ссылка содержит руководство по ее реализации.

0 голосов
/ 24 апреля 2018

CData разработала библиотеку для выполнения операций CRUD с MongoDb с использованием Entity Framework 6.0. Но это не бесплатно.

Подробную информацию о библиотеке можно найти в

https://www.cdata.com/kb/tech/mongodb-ado-codefirst.rst

0 голосов
/ 19 января 2016

Я не предлагаю использовать старую версию поставщика MongoDb, которая использует LINQ.Самый лучший и стабильный драйвер C # MongoDb - это официальный драйвер MongoDb 2.0 для C #, который использует механику Builders.

У устаревшего драйвера LINQ есть много ограничений с неудобным и медленным механизмом массовой вставки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...