2009-08-02 23 views
13

Esistono motori DB implementati interamente in .NET e Mono compatibile? Mi piacerebbe avere una soluzione DB che funzionerà su tutte le piattaforme via Mono in modo da non dovermi preoccupare di avere binari nativi separati per ogni piattaforma.Motore di database .NET/Mono

risposta

7

VistaDB è completamente .NET e supportato su Mono. Puoi incorporare il tuo server DB nella tua app in modo che non ci siano ulteriori configurazioni, l'unico problema è che questo non è un prodotto gratuito.

Firebird ha una versione .NET ed è opensource, che gira anche su Mono. C'è anche un adattatore Lucene per questo, se vuoi usarlo per le ricerche.

può anche dare questa pagina uno sguardo che elenca i fornitori di dati supportati ecc sotto Mono

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

+2

Qualcosa che ho dimenticato di menzionare anche tu potresti sempre progettare l'app usando un DAL astratto così invece di chiamare direttamente il DB che chiameresti a qualcosa come CommonDataProvider.GetInstance() e che ti porterà un riferimento al provider impostato nel file di configurazione. Quindi potresti scegliere come target MSSQL, ma anche MySQL, Oracle ecc. E avere codice ottimizzato per ognuno. Ecco come funzionano applicazioni come server della comunità, graffiti e nuvolette dotnet. –

0

Ho letto poco tempo fa che ora esiste una porta .NET di HSQLDB (un database Java al 100%, suppongo che una porta .NET sia 100% codice .NET). Il web site sembra essere inattivo in questo momento, ma dovresti dare un'occhiata a questo.

6

db4o è un motore di database ad oggetti (scritto in Java e C#) che compila/fili liscio sotto Mono.

2

SQLite non è scritto in .NET, ma non v'è un adattatore NET (con LINQ to supporto entità), ed è portabile su tutte le piattaforme che è probabile che considerino (è usato ad esempio in firefox, safari, adobe lightroom, apertura di Apple e skype). Se stai cercando un db collaudato, ampiamente adottato, con licenza aperta, è un buon contendente.

Tuttavia, db4o è sicuramente una buona alternativa da menzionare, soprattutto perché si integra facilmente in un ambiente OO (che i db basati su SQL non tendono).

+0

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

+0

Il tempismo è esilarante ;-). Inizialmente utilizzerei ancora i binding nativi, fino a quando la porta non sarà matura. –

6
+0

Ottimo! Sembra fantastico. –

+2

Mentre la versione corrente di csharp-sqlite (3.7.7) è Mono compatibile, non è compatibile né con Linux né con Mac OS X senza diverse modifiche all'origine./Con buona speranza /, la prossima versione sarà completamente compatibile con Mac OS X/Linux. – Stewart

1

Se fossi in te io preferirei MongoDB così come Norm C# conducente.

0

Il completamente gestito è suggerito in altre risposte, ma nessuna versione aggiornata supporta Linux o Mac OS X nonostante sia compilabile con il compilatore Mono C#.

Una versione futura verrà eseguita correttamente su quelle piattaforme non Windows con il runtime Mono. Con alcuni avvertimenti, il source repository contiene codice funzionante che può essere utilizzato ora.

0

ho uno in movimento a https://github.com/mcintyre321/PieDb - E 'davanzale

XCOPY schierabili Trasparente - non hai bisogno di informazioni in questo sui vostri oggetti *. E 'autorizzato dal MIT Ha un codebase molto piccolo. Utilizza un log delle transazioni JSON per registrare le modifiche (quindi gli oggetti devono essere serializzabili con JSON). Può essere scritto su disco o eseguito in memoria per eseguire il test Sessioni transazionali (alias Unità di lavoro) con concomitanza ottimistica

1

iBoxDB.NET può essere eseguito sulla maggior parte.Piattaforme NET e Mono-based, include .NET, Mono, Unity3D, Xamarin

Problemi correlati