2009-03-26 17 views

Antwort

21

Die wichtigsten Optionen, die ich denke, sind:

+7

nicht die kickass SQLite-Treiber für .net vergessen: http://sqlite.phxsoftware.com/ –

+1

nur einen Artikel über Entity Framework und Firebird Embedded http://www.firebirdnews.org/?p=2665 –

4

Werfen Sie einen Blick auf SQL Server Compact Edition. Es läuft in-proc, es ist eine einzelne binäre und es speichert seine Daten in einer einzigen Datei, und es unterstützt Nebenläufigkeit (im Gegensatz zu vielen anderen eingebetteten DBs, einschließlich SQLite). Außerdem haben Sie es wahrscheinlich bereits, wenn Sie Visual Studio verwenden. Schließlich ist es frei zu verwenden und neu zu verteilen.

+0

Schöne Integration mit Tools. Was ist die Lizenzanforderung? Kosten? – Cheeso

+1

Leider ist es nicht wirklich eine einzelne Binärdatei. Es hat mehrere native DLLs, die auch das Problem von x86 vs x64 verursacht. –

+1

Sie haben Recht Mauricio. Für verwalteten Code sieht es so aus, als seien nur zwei Binärdateien erforderlich, sqlceme35.dll und System.Data.SqlServerCe.dll. Für nativen Code, Synchronisationsdienste usw. gibt es andere Bins. –

5

SQL Server Compact Edition ist die intelligente Wahl für .NET Compact Framework. Ich fand Arcane Code eine sehr hilfreiche Seite für das Lernen von SSCE. Er ist ein MVP für SQL Server und konzentriert sich auf CE.

+1

Sie können nur Tabellen und Indizes in CE erstellen –

2

Ich mag wirklich FirebirdSQL ich (auch von CMS erwähnt). Es kann eingebettet in die Windows-DLLs laufen, es gibt sogar eine gemischte Binärdatei mit dem Core-Treiber dafür eingebaut. Es funktioniert auch gut mit ActiveRecord und NHibernate. Die meisten .Net-Typen können einfach zugeordnet werden.

Ein Vorteil gegenüber anderen Optionen zu einem RDBMS-Modus schaltet ist nur eine Frage der das Abfragezeichenfolgeflag Ändern eines Server zu verwenden, statt der integrierten Version. Sie können damit auch unter Linux (leider nicht im Embedded-Modus) laufen, wenn Sie in Zukunft Mono haben wollen.

12

Ich wollte nur spät hier mit mehr Informationen über VistaDB.

Unsere SQL-Syntax ist sehr nah mit SQL Server-Syntax, und wir sind TSQL und CLR gespeicherte Procs.

Läuft im Prozess mit Ihrer Anwendung, und Sie haben nur 1 Baugruppe für beiden Bits 32 und 64 bereitstellen (100% verwalteten Code). Dies ist mit SQL CE nicht möglich, da Sie verschiedene nicht verwaltete Assemblys haben, die bereitgestellt werden müssen.

Sie können VistaDB mit Ihrer App einbetten und sogar ILMERGE, ändern Sie den Namen der Datenbank usw., um die Engine vollständig vor Ihren Benutzern verstecken (einige Leute sind wirklich groß in diesem).

Und ja, es kann auch auf Mono laufen, da sie 100% verwaltetem Code ist. Es gibt immer noch ein paar Probleme (einschließlich Nicht-Intel-Monomaschinen).

vollständige Offenlegung - Ich bin der Inhaber der Firma

Verwandte Themen