Mi piacerebbe usare SQLite dall'interno di C # .Net, ma non riesco a trovare una libreria appropriata. Ce n'è uno? Ufficiale? Esistono altri modi per utilizzare SQLite rispetto a un wrapper?
Mi piacerebbe usare SQLite dall'interno di C # .Net, ma non riesco a trovare una libreria appropriata. Ce n'è uno? Ufficiale? Esistono altri modi per utilizzare SQLite rispetto a un wrapper?
Risposte:
Da https://system.data.sqlite.org :
System.Data.SQLite è un adattatore ADO.NET per SQLite.
System.Data.SQLite è stato avviato da Robert Simpson. Robert ha ancora i privilegi di commit su questo repository ma non è più un collaboratore attivo. Il lavoro di sviluppo e manutenzione viene ora svolto principalmente dal team di sviluppo di SQLite. Il team di SQLite si impegna a supportare System.Data.SQLite a lungo termine.
"System.Data.SQLite è il motore di database SQLite originale e un provider ADO.NET 2.0 completo riunito in un unico assembly in modalità mista. È una sostituzione drop-in completa per sqlite3.dll originale (puoi persino rinominarlo in sqlite3.dll). A differenza dei normali assembly misti, non ha dipendenze di linker dal runtime .NET, quindi può essere distribuito indipendentemente da .NET. "
Supporta anche Mono.
Ecco quelli che posso trovare:
fonti:
Ora c'è anche questa opzione: http://code.google.com/p/csharp-sqlite/ - una porta completa da SQLite a C #.
La gente di sqlite.org ha assunto lo sviluppo del provider ADO.NET:
Dalla loro homepage :
Questo è un fork del popolare adattatore ADO.NET 4.0 per SQLite noto come System.Data.SQLite. Il creatore di System.Data.SQLite, Robert Simpson, è a conoscenza di questo fork, ha espresso la sua approvazione e ha concesso i privilegi sul nuovo repository Fossil. Il team di sviluppo di SQLite intende mantenere System.Data.SQLite in avanti.
Le versioni storiche, così come i forum di supporto originali, sono ancora disponibili su http://sqlite.phxsoftware.com , sebbene non vi siano aggiornamenti a questa versione dall'aprile del 2010.
L'elenco completo delle funzionalità è disponibile sul loro wiki . I punti salienti includono
Le DLL rilasciate possono essere scaricate direttamente dal sito .
Andrei sicuramente con System.Data.SQLite (come menzionato in precedenza: http://sqlite.phxsoftware.com/ )
È coerente con ADO.NET (System.Data. *) E viene compilato in una singola DLL. No sqlite3.dll - perché il codice C di SQLite è incorporato in System.Data.SQLite.dll. Un po 'di magia C ++ gestita.
sqlite-net è una libreria minima open source per consentire alle applicazioni .NET e Mono di archiviare i dati nei database SQLite 3 . Maggiori informazioni sulla pagina wiki .
È scritto in C # ed è pensato per essere semplicemente compilato con i tuoi progetti. È stato inizialmente progettato per funzionare con MonoTouch su iPhone, ma è cresciuto per funzionare su tutte le piattaforme (Mono per Android, .NET, Silverlight, WP7, WinRT, Azure, ecc.).
È disponibile come pacchetto Nuget , dove è il secondo pacchetto SQLite più popolare con oltre 60.000 download a partire dal 2014.
sqlite-net è stato progettato come un livello di database rapido e conveniente. Il suo design segue questi obiettivi:
I non obiettivi includono:
Mono viene fornito con un involucro. https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 fornisce il codice per racchiudere la dll SQLite effettiva ( http: //www.sqlite. org / sqlite-shell-win32-x86-3071300.zip trovato nella pagina di download http://www.sqlite.org/download.html/ ) in un modo .net friendly. Funziona su Linux o Windows.
Questo sembra il più sottile di tutti i mondi, minimizzando la tua dipendenza da librerie di terze parti. Se dovessi fare questo progetto da zero, questo è il modo in cui lo farei.
Microsoft ora fornisce Microsoft.Data.Sqlite come soluzione SQLite di prima parte per .NET, fornita come parte di ASP.NET Core. La licenza è la licenza Apache, versione 2.0 .
* Disclaimer: Non ho effettivamente provato ad utilizzare questo me stesso ancora, ma c'è qualche documentazione fornita su Microsoft Docs qui per il suo utilizzo con .NET Core e UWP.
Per quelli come me che non hanno bisogno o non vogliono ADO.NET, quelli che hanno bisogno di eseguire il codice più vicino a SQLite, ma ancora compatibili con netstandard
(.net framework, .net core, ecc.), Ho creato un Progetto open source gratuito al 100% chiamato SQLNado (per "Not ADO") disponibile su github qui:
https://github.com/smourier/SQLNado
È disponibile come nuget qui https://www.nuget.org/packages/SqlNado ma anche disponibile come singolo file .cs, quindi è abbastanza pratico da usare in qualsiasi tipo di progetto C #.
Supporta tutte le funzionalità di SQLite quando si utilizzano i comandi SQL e supporta anche la maggior parte delle funzionalità di SQLite tramite .NET:
La versione 1.2 di Monotouch include il supporto per System.Data. Puoi trovare maggiori dettagli qui: http://monotouch.net/Documentation/System.Data
Ma fondamentalmente ti permette di usare i soliti schemi ADO .NET con sqlite.
http://www.devart.com/dotconnect/sqlite/
dotConnect per SQLite è un fornitore di dati avanzato per SQLite che si basa sulla tecnologia ADO.NET per presentare una soluzione completa per lo sviluppo di applicazioni di database basate su SQLite. Come parte del framework di sviluppo di applicazioni di database Devart, dotConnect per SQLite offre sia connettività nativa ad alte prestazioni al database SQLite sia una serie di strumenti e tecnologie di sviluppo innovativi.
dotConnect per SQLite introduce nuovi approcci per la progettazione dell'architettura delle applicazioni, aumenta la produttività e sfrutta l'implementazione delle applicazioni di database.
Uso la versione standard, funziona perfettamente :)
Un wrapper barebone delle funzioni fornito dalla libreria sqlite. L'ultima versione supporta le funzioni fornite dalla libreria sqlite 3.7.10