Domanda

Voglio estendere un'applicazione WPF con funzionalità di database.Quale motore di database suggeriresti e perché?SQLite, SQL CE, altro?

È stato utile?

Soluzione

A seconda dell'uso delle applicazioni, Consiglierei di utilizzare SQL Lite perché non richiede l'installazione di nessun altro software (SQL CE o Express, ecc.di solito richiederebbe un'installazione separata).

Un elenco dei vantaggi più importanti di SQL Lite dal collegamento del provider in fondo a questo post:

SQLite è una piccola libreria C che implementa un motore di database SQL autonomo, incorporato, a zero configurazione.Le caratteristiche includono:

  • Zero configurazione - Nessuna configurazione o amministrazione necessaria.
  • Implementa la maggior parte di SQL92.(Funzionalità non supportate)
  • Un database completo viene archiviato in un singolo file disco.
  • I file di database possono essere condivisi liberamente tra macchine con diversi ordini di byte.
  • Supporta database fino a 2 terabyte (2^41 byte) di dimensioni.
  • Piccolo ingombro del codice:Meno di 30K righe di codice C, spazio di codice inferiore a 250kb (GCC su I486)
  • Più veloce dei popolari motori di database client/server per le operazioni più comuni.
  • API semplice e facile da usare.
  • Autonomo:Nessuna dipendenza esterna.
  • Le fonti sono di pubblico dominio.Utilizzare per qualsiasi scopo.

Dato che stai utilizzando WPF, posso presumere che tu stia utilizzando almeno .NET 3.0.Consiglierei quindi di passare a .NET 3.5 SP1 (stesse dimensioni di .NET 3.5 ma include numerosi miglioramenti delle prestazioni) che include LINQ.

Quando si utilizza SQLite, tuttavia, è consigliabile utilizzare il seguente provider SQLite che dovrebbe fornire il supporto LINQ: Un provider ADO.NET open source per il motore di database SQLite

Altri suggerimenti

Ho utilizzato SQL Compact Edition con la mia app WPF e sono soddisfatto della mia decisione.Tutto funziona (poiché WPF e SQLCE sono entrambi MS funzionano bene insieme) e l'installazione del runtime è abbastanza piccola e abbastanza fluida per le mie esigenze.Ho creato e modificato il database tramite visual studio.

Giusto per esprimere un'opinione diversa, abbiamo utilizzato SQL Compact Edition nell'ultimo anno e ne siamo rimasti generalmente soddisfatti.La configurazione è semplice e si comporta in modo molto simile a un normale database MS SQL.Mancano alcune cose, come trigger e procedure memorizzate, ma SQL 3.5 CE ha praticamente tutto il resto di cui avremmo bisogno.Sono circa 2 Mb di file .dll da installare.Offre crittografia del database, transazioni e supporta il progettista di set di dati tipizzati di VS (la versione 3.1 ha avuto alcuni problemi, ma CE 3.5 è fantastica!).

Le DLL SQL CE possono essere incluse nella propria applicazione e non richiedono un'installazione separata.Ma MS fornisce un pacchetto di installazione predefinito, se non vuoi conoscere l'installazione ... ecc.

Inoltre, SQL CE supporta la distribuzione privata.

SQLite è davvero un bel prodotto anche se mi mancano le funzionalità di PostgreSQL.Esistono altri database, soprattutto non SQL, che potresti prendere in considerazione come Berkeley DB.

/Allan

Sono d'accordo sul fatto che SQLite sia la strada da percorrere.Subsonic 2.1 ora include anche il supporto SQLite.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top