Question

J'aimerais utiliser une sorte de base de données nosql dans mon application Web, qui est écrite en asp.net mvc, mais je ne trouve rien d’utile. J'ai jeté un œil à MongoDB et à CouchDB mais j'aimerais avoir une meilleure api (fortement typée, pas de chaînes magiques) pour mes requêtes. Est-ce que quelque chose comme ça existe pour .NET?

Était-ce utile?

La solution

Je suis l'auteur principal du pilote .Net pour Mongo. Il n’existe pas encore de mappeur ORM pour le moment. Au lieu de cela, cela fonctionne sur des documents simples qui sont l'équivalent d'un dictionnaire. Il ne serait pas difficile d'utiliser la réflexion pour parcourir les champs d'un document et les affecter aux propriétés d'un objet. J'ai déjà écrit une chose simple comme celle-ci pour les résultats LDAP. Vous n'avez pas à vous soucier de l'injection SQL avec Mongo car il n'y a pas vraiment de langage de requête qui soit analysé. Tous les conducteurs parlent à Mongo dans sa langue maternelle. Il existe un potentiel si vous générez dynamiquement du javascript et l'envoyez à la base de données, mais la nécessité de le faire devrait être rare. Si vous avez des questions sur l'utilisation du pilote, n'hésitez pas à les poster sur le groupe Google ou à envoyer un message via GitHub.

Autres conseils

MongoDB n'utilise pas de chaînes magiques, mais utilise des documents de requête pour représenter des requêtes. Un pilote C # open source est également disponible. Je ne suis pas sûr des spécificités du pilote C #, mais il devrait être relativement facile d'ajouter une couche de validation par dessus si elle n'existe pas déjà. Il existe par exemple des projets similaires aux pilotes dans Python et Ruby.

Vous pouvez vous connecter à des fichiers texte à l'aide d'ADO.NET et les lire / écrire à l'aide de la syntaxe SQL et des commandes émises via ADO.NET. Il existe un exemple dans cet article . Vos données seront stockées dans un format lisible par l'homme au format d'enregistrement délimité par des virgules ou des tabulations. Bien sûr, cela ne sera pas rapide avec de grands ensembles de données. Je ne sais pas si vous essayez de vous éloigner des bases de données SQL et de la syntaxe SQL. Les solutions de fichier texte peuvent être interrogées par SQL.

Vous pouvez également faire la même chose avec des feuilles de calcul Excel en les traitant comme des sources de données SQL (même si elles ne le sont pas) via un accès ADO.NET.

Vous n'êtes pas sûr de savoir ce que vous cherchez, mais vous pouvez essayer http://www.db4o.com/ Je ne l'ai jamais utilisé moi-même, mais cela peut vous aider

Cela n'existait pas à l'époque où cette question a été posée ... mais maintenant, il existe Raven DB , une base de données de documents écrite en C # par Ayende Rahien .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top