Est-il possible que Entity Framework prenne en charge la base de données MongoDb? Quelqu'un peut-il écrire un fournisseur EF MongoDb?
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.
Découvrez la dernière version de la bibliothèque MongoDB C # .... supporte LINQ!
http://www.mongodb.org/display/DOCS/CSharp+Driver+LINQ+Tutorial
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
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.
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.
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