J'aimerais en quelque sorte utiliser SQLite à partir de C # .Net, mais je n'arrive pas à trouver une bibliothèque appropriée. Est-ce qu'il y a un? Un officiel? Existe-t-il d'autres façons d'utiliser SQLite qu'avec un wrapper?
De https://system.data.sqlite.org :
System.Data.SQLite est un adaptateur ADO.NET pour SQLite.
System.Data.SQLite a été lancé par Robert Simpson. Robert a toujours des privilèges de validation sur ce référentiel mais n'est plus un contributeur actif. Les travaux de développement et de maintenance sont maintenant principalement effectués par l’équipe de développement de SQLite. L’équipe SQLite s’engage à prendre en charge System.Data.SQLite à long terme.
"System.Data.SQLite est le moteur de base de données SQLite d'origine et un fournisseur ADO.NET 2.0 complet regroupés dans un seul assemblage en mode mixte. Il s'agit d'un remplacement instantané complet du sqlite3.dll d'origine (vous pouvez même le renommer sqlite3.dll). Contrairement aux assemblages mixtes normaux, il n’a aucune dépendance de l’éditeur de liens sur le runtime .NET, il peut donc être distribué indépendamment de .NET. "
Il supporte même Mono.
Voici ceux que je peux trouver:
Sources:
Il y a aussi maintenant cette option: http://code.google.com/p/csharp-sqlite/ - un portage complet de SQLite en C #.
Les gens de sqlite.org ont pris en charge le développement du fournisseur ADO.NET:
De leur page d'accueil :
Il s’agit d’un fork du célèbre adaptateur ADO.NET 4.0 pour SQLite appelé System.Data.SQLite. Robert Simpson, l'initiateur de System.Data.SQLite, est au courant de cette fourchette, a exprimé son accord et dispose des privilèges de validation sur le nouveau référentiel Fossil. L’équipe de développement SQLite al’intention de maintenir System.Data.SQLite à l’avenir.
Les versions historiques, ainsi que les forums de support d'origine, sont toujours disponibles à l'adresse http://sqlite.phxsoftware.com , bien qu'aucune mise à jour de cette version n'ait été mise à jour depuis avril 2010.
La liste complète des fonctionnalités peut être trouvée à sur leur wiki . Les points forts comprennent
Les DLL publiées peuvent être téléchargées directement à partir de le site .
J'irais certainement avec System.Data.SQLite (comme mentionné précédemment: http://sqlite.phxsoftware.com/ =)
Il est cohérent avec ADO.NET (System.Data. *) Et est compilé dans une seule DLL. No sqlite3.dll, car le code C de SQLite est incorporé à System.Data.SQLite.dll. Un peu de magie gérée en C++.
sqlite-net est une bibliothèque minimale à code source ouvert permettant aux applications .NET et Mono de stocker des données dans bases de données SQLite . Plus d'informations sur le page du wiki .
Il est écrit en C # et doit être simplement compilé avec vos projets. Il a d'abord été conçu pour fonctionner avec MonoTouch sur iPhone, mais a grandi pour fonctionner sur toutes les plateformes (Mono pour Android, .NET, Silverlight, WP7, WinRT, Azure, etc.).
Il est disponible sous forme de paquet Nuget , où il s’agit du deuxième paquet SQLite le plus populaire avec plus de 60 000 téléchargements à partir de 2014.
sqlite-net a été conçu comme une couche de base de données rapide et pratique. Sa conception découle de ces objectifs:
Les non-objectifs incluent:
Mono est livré avec un wrapper. https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2. donne le code pour encapsuler la dll SQLite réelle (- http://www.sqlite.org/sqlite-Shell-win32-x86-3071300.Zip trouvé sur la page de téléchargement http://www.sqlite.org/download.html/ ) d'une manière conviviale .net. Cela fonctionne sous Linux ou Windows.
Cela semble le plus mince de tous les mondes, minimisant votre dépendance aux bibliothèques tierces. Si je devais faire ce projet à partir de zéro, c'est comme ça que je le ferais.
Microsoft fournit maintenant Microsoft.Data.Sqlite en tant que solution SQLite de premier plan pour .NET, fournie avec ASP.NET Core. La licence est la Licence Apache, version 2. .
* Clause de non-responsabilité: Je n'ai pas encore essayé d'utiliser cette solution moi-même, mais une documentation est fournie sur Microsoft Docs ici pour l'utiliser avec .NET Core et UWP.
Pour ceux qui, comme moi, n’ont pas besoin ou ne veulent pas d’ADO.NET, ceux qui doivent exécuter un code plus proche de SQLite, mais toujours compatible avec netstandard
(framework .net, noyau .net, etc.), J'ai construit un projet Open Source 100% gratuit appelé SQLNado (pour "Not ADO") disponible sur github ici:
https://github.com/smourier/SQLNado
Il est disponible sous forme de nuget ici https://www.nuget.org/packages/SqlNado mais également sous forme de fichier .cs unique. Il est donc très pratique de l'utiliser dans tout type de projet C #.
Il prend en charge toutes les fonctionnalités de SQLite lors de l'utilisation de commandes SQL, ainsi que la plupart des fonctionnalités de SQLite via .NET:
La version 1.2 de Monotouch inclut la prise en charge de System.Data. Vous pouvez trouver plus de détails ici: http://monotouch.net/Documentation/System.Data
Mais fondamentalement, cela vous permet d’utiliser les modèles ADO .NET habituels avec sqlite.
Un wrapper à nu des fonctions fourni par la bibliothèque sqlite. La dernière version prend en charge les fonctions fournies par la bibliothèque sqlite 3.7.10
http://www.devart.com/dotconnect/sqlite/
dotConnect for SQLite est un fournisseur de données amélioré pour SQLite qui s'appuie sur la technologie ADO.NET pour présenter une solution complète de développement d'applications de base de données basées sur SQLite. Dans le cadre du cadre de développement des applications de base de données Devart, dotConnect for SQLite offre à la fois une connectivité native hautes performances à la base de données SQLite et un certain nombre d'outils et de technologies de développement innovants.
dotConnect for SQLite introduit de nouvelles approches pour la conception d'architecture d'application, augmente la productivité et exploite la mise en œuvre d'applications de base de données.
J'utilise la version standard, ça marche parfaitement :)