Risposte:
14/06/2016 Sì ... ancora ricevendo voti: - /
17/03/2014 Ricevo ancora voti positivi per questo, siate consapevoli della data alla quale è stata inizialmente data risposta. Sebbene i tre elementi principali elencati siano ancora interamente praticabili, l'elenco tenderà a diventare stantio. Sono disponibili ulteriori tecnologie di database che non sono elencate.
Hai un paio di opzioni immediatamente riconoscibili e gratuite:
Il download di SQL Server Compact viene fornito con il provider ADO.NET che sarà necessario fare riferimento nel codice. Il download di SQLite potrebbe non averlo, quindi ecco un link:
http://sqlite.phxsoftware.com/
Tutti e tre usano SQL, anche se probabilmente con alcune limitazioni / stranezze. Management Studio funziona con Compact e LocalDB, mentre con SQLite è necessario un altro strumento di interfaccia utente come SQLite Administrator:
http://sqliteadmin.orbmu2k.de/
Esistono alternative NoSQL, come:
Personalmente eviterei di usare MS Access di fronte ad altre opzioni gratuite. Non puoi sbagliare con LocalDB, Compact o SQLite. Sono tutti piccoli database adorabili che girano relativamente velocemente con poca RAM - preferenza personale per quanto riguarda gli aspetti religiosi sull'apprezzamento di un prodotto Microsoft suppongo :-)
Uso Sterling per la programmazione di Windows Phone in quanto è stato creato per utilizzare l'archiviazione isolata. Ho visto solo articoli su RavenDb, ma posso dirti che si tratta di un framework di archiviazione dei documenti basato su JSON.
Per non confondere la situazione (utilizzare SQLite, LocalDB di SQL Server Express o SQL Server Compact Edition), ma esistono altri database incorporati / locali, alcuni sono relazionali, altri sono orientati agli oggetti:
Non tutti sono gratuiti. Il supporto SQL / LINQ / in-proc differisce tra loro tutti. Questo elenco è solo per curiosità.
Ora c'è anche Karvonite , tuttavia il link alla galleria di codici è interrotto. Quando sarà di nuovo live, esaminerò questo per lo sviluppo di WP7.
Consiglierei SQLite . Lo stiamo usando per quasi tutte le app che sviluppiamo dove lavoro.
È piccolo e compatto. Richiede una DLL per essere nella directory dell'app, ma non è necessario avere altri software installati come Access o SQL Server. Inoltre, come affermato da danielkza di seguito, "SQLite è di dominio pubblico, quindi non devi preoccuparti affatto delle licenze". Questo può davvero fare la differenza.
Puoi usare System.Data.SQLite o csharp-sqlite per accedervi in un'app C # usando gli stessi metodi di SQL o OleDB.
Sarà inoltre necessaria un'applicazione per modificare / gestire il database. Il migliore secondo me è SQLite Studio . Eccone un altro paio:
SQLite Admin
SQLite 2009 Pro (in fondo alla pagina)
Aggiornamento - 25/07/11 - Altre app SQLite (domanda qui su SO)
Ecco di più su SQLite:
SQLite su Wikipedia
Aziende che utilizzano SQLite
Funzioni personalizzate: come aggiunta, se stai cercando nelle funzioni principali di SQLite e non ne vedi una che ti piace, puoi creare le tue funzioni personalizzate. Ecco un paio di esempi: dall'esempio
SO
Anoter
Firebird incorporato può essere una buona scelta
La versione integrata è una straordinaria variante del server. È un server Firebird con tutte le funzionalità e racchiuso in pochi file. È molto facile da implementare, poiché non è necessario installare il server.
Ci sono alcuni driver dot net molto buoni
SQL Server Compact se si desidera utilizzare la soluzione Microsoft ufficiale. Questo ha il vantaggio di poter usare la replica con SQL Server se hai bisogno di quel genere di cose.
SQLite se vuoi qualcosa di molto semplice, piccolo e gratuito. Questo è ciò che Android utilizza per i suoi database interni, quindi è molto ben supportato e ci sono ottimi collegamenti .NET disponibili.
Un netto vantaggio di SQLite è che è multipiattaforma. Quindi, se si desidera trasferire la propria applicazione su Mono.NET, non si dovrebbero apportare modifiche all'implementazione del database.
Non mi piace MS Access per questa soluzione, ma molte persone lo hanno incluso nella loro risposta. È limitato a causa del formato proprietario e della dipendenza dalla piattaforma. Ha i suoi vantaggi però. Puoi manipolare facilmente i dati se disponi di una copia di MS Access, puoi creare query graficamente e creare macro. Puoi facilmente integrarlo con il resto di MS Office.
Tra tutti questi SQLite sarebbe la mia raccomandazione perché è così compatto, ben documentato e supportato da un esercito crescente di colleghi sviluppatori indipendentemente dalla piattaforma.
MODIFICARE
Mi sono reso conto che esiste un'altra opzione che tutti qui hanno dimenticato di menzionare
Finché non sono necessarie tabelle relazionali, è possibile utilizzare il file CSV letto come set di dati tramite ADO.NET. (Più di un suggerimento lulz di ogni altra cosa, ma sarebbe adatto in alcuni casi e non richiede librerie aggiuntive per una distribuzione MS.
Se si sta creando un progetto con .NET 4.0.2 o versione successiva e si desidera il supporto del database incorporato, prendere in considerazione SQL Server Express LocalDB .
È un'aggiunta relativamente nuova alla famiglia Express che presenta un footprint di installazione più piccolo e un overhead di gestione ridotto (rispetto ad altre edizioni di Express), ma mantiene gli aspetti di programmabilità di SQL Server. Cioè, a differenza di Compact Edition, LocalDB non richiede l'installazione di un provider ADO.NET separato per comunicare con SQL.
Vedere quanto segue per maggiori dettagli:
SQL Express v LocalDB v SQL Compact Edition (Blog MSDN)
SQL LocalDB vs SQL Server CE ( StackTranslate.it )
che dire di http://en.wikipedia.org/wiki/NoSQL_(RDBMS) ?
in particolare MongoDB per .Net
Puoi usarlo Sql Server Express Edition
come gratuito ed è ugualmente potente fino a quando e se non vuoi funzionalità come mirroring
ecc. Dai un'occhiata a questo .
Ho usato db4o con successo.
Basato su file, grande comunità, semplice da usare.
Dettagli delle licenze
Licenza pubblica generale gratuita db4o è concessa in licenza predefinita GPL.
La licenza GPL è l'ideale se si prevede di utilizzare db4o internamente o si prevede di sviluppare e distribuire il proprio lavoro derivato come software gratuito in base alla GPL.
Licenza commerciale È necessaria una licenza commerciale se si desidera incorporare db4o in un prodotto commerciale non GPL. I licenziatari commerciali hanno accesso a servizi e supporto premium.
Un'alternativa che non è stata menzionata se non è necessario che sia un database gratuito è VistaDB. È tutto codice gestito, offre tonnellate di funzionalità per un database incorporato e offre prestazioni piuttosto buone. Un ponte piuttosto buono tra SQL CE e SQL Server Express poiché la maggior parte delle procedure memorizzate VistaDB verrà eseguita senza modifiche in SQL Server Express. Sono stato abbastanza soddisfatto del servizio clienti anche a questo punto. L'ho usato al lavoro. Nessun servizio da avviare. Un DB vuoto è di circa 1 MB e anche la DLL è piuttosto leggera. Ha provider ADO.NET e cose del genere. Mi è piaciuto molto.
SQL Server Express o MS Access