2009-08-02 15 views
13

¿Hay algún motor de base de datos que se implemente por completo en .NET y Mono compatible? Me gustaría tener una solución DB que se ejecutará en todas las plataformas a través de Mono para que no tenga que preocuparse por tener binarios nativos separados para cada plataforma..NET/Mono Database Engine

Respuesta

7

VistaDB es completamente .NET y es compatible con Mono. Puede insertar su servidor de base de datos en su aplicación con él, por lo que no hay configuración adicional, el único problema es que este no es un producto gratuito.

Firebird tiene una versión .NET, y es de código abierto, que se ejecuta en Mono también. También hay un adaptador Lucene en caso de que quiera usarlo para búsquedas.

También puede dar a esta página una mirada que enumera los proveedores de datos soportados etc. Bajo Mono

http://www.mono-project.com/Database_Access

+2

Algo que me olvidé mencionar también es que siempre puedes diseñar la aplicación usando un DAL abstraído, así que en lugar de llamar directamente a la base de datos, llamarías a algo como CommonDataProvider.GetInstance() y eso le dará una referencia al proveedor establecido en el archivo de configuración. Luego, puede orientar a MSSQL pero también a MySQL, Oracle, etc. y tener un código optimizado para cada uno. Así funcionan las aplicaciones como servidor de comunidad, graffiti y dotnet nuclear. –

0

Leí hace poco tiempo que ahora hay un puerto .NET de HSQLDB (una base de datos 100% Java, supongo que un puerto .NET es 100% código .NET). El web site parece estar caído ahora, pero debería echarle un vistazo.

6

db4o es un motor de base de datos de objetos (escrito en Java y C#) que se compila/ejecuta sin problemas en Mono.

2

SQLite no está escrito en .NET, pero hay un adaptador de .NET (con LINQ to soporte de entidades), y es portátil para todas las plataformas que probablemente considerará (se usa, por ejemplo, en firefox, safari, adobe lightroom, apple's skype). Si busca un db de licencia abierta probado, ampliamente adoptado, es un buen competidor.

Sin embargo, db4o es sin duda una buena alternativa para mencionar, sobre todo porque se integra tan fácilmente en un entorno OO (que los DB basados ​​en sql no suelen).

+0

http://tirania.org/blog/archive/2009/Aug-06.html CSQLite en C#;). – Dykam

+0

El momento es hilarante ;-). Todavía usaría los enlaces nativos inicialmente, sin embargo, hasta que el puerto madure. –

6
+0

¡Genial! Eso se ve genial. –

+2

Si bien la versión actual de csharp-sqlite (3.7.7) es compatible con Mono, no es compatible con Linux ni Mac OS X sin varios cambios en la fuente./Con suerte /, el próximo lanzamiento será totalmente compatible con Mac OS X/Linux. – Stewart

1

Si yo fuera usted preferiría MongoDB, así como la Norma C# conductor.

0

El C# port of SQLite3 totalmente gestionado se sugiere en otras respuestas, pero ningún lanzamiento hasta la fecha admite Linux o Mac OS X a pesar de ser compilable con el compilador Mono C#.

Una versión futura se ejecutará correctamente en aquellas plataformas que no sean de Windows con el tiempo de ejecución Mono. Con algunas advertencias, el source repository contiene código de trabajo que se puede usar ahora.

0

Tengo uno en el camino al https://github.com/mcintyre321/PieDb - Es alféizar

XCOPY despliegue transparente - que no es necesario propiedades de identificación en sus objetos *. Está licenciado por MIT Tiene una base de código muy pequeña. Utiliza un registro de transacciones JSON para registrar los cambios (por lo que sus objetos deben ser serializables Json). Se puede escribir en el disco, o trabajar en la memoria para probar Sesiones transaccionales (también conocidas como Unidad de trabajo) con concurrencia optimista

1

iBoxDB.NET se puede ejecutar en la mayoría.NET y plataformas basadas en Mono, incluye .NET, Mono, Unity3D, Xamarin