web-dev-qa-db-fra.com

Entity Framework et MongoDb

Est-il possible que Entity Framework prenne en charge la base de données MongoDb? Quelqu'un peut-il écrire un fournisseur EF MongoDb?

54
Chance

Réponse courte - non, c'est bien sûr possible, mais pas raisonnable. 

MongoDB est une base de données de documents et ne prend en charge aucune relation physique entre les collections. EF convient parfaitement aux bases de données relationnelles telles que SQL, MySQL, etc. MongoDB fonctionne plus rapidement avec les documents incorporés. Donc, ce ne sont que deux approches différentes. 

49
Andrew Orsich

Découvrez la dernière version de la bibliothèque MongoDB C # .... supporte LINQ!

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

32
reach4thelasers

Je suis un grand fan du framework entity, alors quand j'ai essayé mongoDb pour la première fois, j'ai créé une bibliothèque appelée "MongoDB.Dynamic" dont l'approche est proche de celle de EF Code First. MongoDB n’a pas de relation physique entre les collections, mais vous pouvez le simuler. MongoDB.Dynamic possède une fonctionnalité appelée Chargement optimisé qui vous permet de configurer des relations entre des collections et de charger automatiquement des documents liés si une entité possède la structure conventionnelle. Vous pouvez essayer et lire de la documentation sur MongoDB.Dynamic

7
Jone Polvora

En recherchant en ligne, RSSBus semble avoir créé une dll MongoDBProviderServices pouvant être utilisée avec le framework d'entité 6.

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

Le lien inclut un tutoriel sur la façon de le mettre en œuvre.

2
chris31389

Je ne suggère pas d'utiliser l'ancienne version du fournisseur MongoDb qui utilise LINQ. Le meilleur et le plus stable des pilotes C # MongoDb est le pilote officiel MongoDb 2.0 pour C # qui utilise la mécanique des constructeurs.

Le pilote hérité LINQ a de nombreuses contraintes avec un mécanisme d’insertion Bulk peu pratique et lent.

0
Vladislav Furdak

CData a développé une bibliothèque pour effectuer des opérations CRUD avec MongoDb à l'aide d'Entity Framework 6.0. Mais ce n'est pas gratuit.

Les détails de la bibliothèque peuvent être trouvés dans 

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

0
Faisal Ahmed