Me gustaría utilizar algún tipo de base de datos nosql en mi aplicación web escrita en asp.net mvc, pero no puedo encontrar nada útil. He examinado MongoDB y CouchDB, pero me gustaría tener mejores api (cadenas fuertemente tipeadas no mágicas) para mis consultas que las que tienen. ¿Existe algo así para .NET?Base de datos basada en documentos para .NET
Respuesta
Soy el autor principal detrás del conductor .Net de Mongo. Todavía no existe un asignador de ORM como este. En cambio, funciona en documentos simples que son el equivalente de un diccionario. No sería difícil usar la reflexión para recorrer los campos de un documento y asignarlos a las propiedades de un objeto. He escrito algo simple como eso para los resultados de LDAP en el pasado. No tiene que preocuparse por la inyección de sql con Mongo ya que realmente no hay un lenguaje de consulta que se analice. Todos los conductores hablan con Mongo en su lengua materna. Existe cierto potencial si dinámicamente genera javascript y lo envía a la base de datos, pero la necesidad de eso debería ser rara. Si tiene alguna pregunta sobre el uso del controlador, siéntase libre de publicarlos en el Grupo de Google o enviar un mensaje a través de GitHub.
MongoDB no utiliza cadenas mágicas, pero utiliza documentos de consulta para representar consultas. También hay un open source C# driver disponible. No estoy seguro de los detalles del controlador C#, pero debería ser relativamente fácil agregar una capa de validación si no existe uno. Hay proyectos similares sobre los controladores en Python y Ruby, por ejemplo.
Sí, pero dígame por favor cómo guardar y recuperar mi objeto de dominio de forma segura. –
no estoy seguro exactamente de lo que está buscando cuando dice "tipo de seguridad". Creo que lo mejor que puedes hacer es utilizar una capa de acceso a la base de datos que maneje la validación de los datos que estás guardando y salir de MongoDB. – mdirolf
Puede conectarse a archivos de texto usando ADO.NET y leerlos/escribirlos usando la sintaxis SQL y Comandos emitidos a través de ADO.NET. There's an example in this article. Sus datos se almacenarán en formato legible para las personas en formato de registro delimitado por comas o tabuladores. Por supuesto, no será rápido con grandes conjuntos de datos. No estoy seguro de si está tratando de alejarse tanto de las bases de datos SQL como de la sintaxis SQL. Las soluciones de archivos de texto son consultables por SQL.
También puede hacer lo mismo con las hojas de cálculo de Excel tratándolas como fuentes de datos SQL (aunque no lo sean) a través de acceso ADO.NET.
No estoy seguro si es lo que usted está buscando, pero usted podría intentar http://www.db4o.com/ nunca he utilizado yo mismo pero puede ayudarle a
Esto no existía en el momento en que se realizó esta pregunta ... pero ahora está Raven DB, una base de datos de documentos escrita en C# por Ayende Rahien.
- 1. ¿Qué ventajas tiene una base de datos basada en documentos sobre una base de datos relacional?
- 2. Base de datos de gráficos para .NET
- 3. base de datos NoSql basada en archivos?
- 4. Base de datos basada en archivos para C++
- 5. Hadoop como base de datos de la tienda de documentos
- 6. Base de datos de objetos para .NET
- 7. ¿Aplicación basada en documentos con datos básicos frente a la aplicación de datos básicos?
- 8. Base de datos integrada para .net
- 9. ¿Cuál es la diferencia entre una base de datos basada en archivos y una base de datos basada en servidor?
- 10. herencia en la base de datos de documentos?
- 11. CakePHP - configuración de base de datos basada en la URL
- 12. Ubicación recomendada para el almacenamiento de documentos, en la base de datos o en otro lugar?
- 13. Crear una base de datos SQLite basada en un conjunto de datos XSD
- 14. ¿Buena base de datos en memoria para .net/PowerShell?
- 15. Pros/contras de bases de datos basadas en documentos vs. bases de datos relacionales
- 16. Tutorial/ejemplo de una aplicación mínima basada en documentos
- 17. .Net Serialización XML basada en un XSD?
- 18. .NET y capas de base de datos
- 19. Aplicación neutra de base de datos .NET
- 20. ¿Busca introducir pestañas en la aplicación basada en documentos, ideas?
- 21. ¿Es una buena base para documentos/bases de datos NoSQL para almacenar un balance?
- 22. ¿Cómo puedo evitar la duplicación de datos en una base de datos de documentos como RavenDB?
- 23. Lectura de documentos PDF en .Net
- 24. Tropezar/burlarse de una base de datos en .Net
- 25. Flotante en la base de datos a? en .NET
- 26. Autorización basada en datos en ASP.NET
- 27. Obtener carpeta Documentos recientes en .NET
- 28. ¿Puede la base de datos basada en memoria reemplazar la necesidad de almacenamiento en caché?
- 29. ¿Cuál es la mejor base de datos DLL-Base para .NET?
- 30. Prueba de DUnit basada en datos
Hola, he decidido usar mongo en mi proyecto, pero no sé cómo anidar algún objeto en mi documento, digamos que tengo documento de pregunta y quiero tener respuestas, pero no tengo ni idea de cómo hacerlo esto –
Los documentos incrustados son solo atributos en un documento que lo contiene. Aquí hay un trazador de líneas. Ciertamente puede separarlo en múltiples líneas si es necesario. Document doc = new Document(). Append ("embeddedDoc", nuevo documento(). Append ("attr1", "val1")); –
Bien, pero ¿es posible agregar una colección de documentos, digamos que tengo una pregunta y quiero tener una colección de respuestas para ella, cuando intenté hacer esto tuve una excepción porque las respuestas clave ya existen –