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?
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?
Réponses:
Depuis 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 désormais principalement effectués par l'équipe de développement 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, tous regroupés en un seul assemblage en mode mixte. Il s'agit d'un remplacement complet pour le sqlite3.dll d'origine (vous pouvez même le renommer en sqlite3.dll). Contrairement aux assemblys mixtes normaux, il n'a pas de dépendance de l'éditeur de liens sur le runtime .NET, il peut donc être distribué indépendamment de .NET. "
Il prend même en charge Mono.
Voici ceux que je peux trouver:
Sources:
Il y a aussi maintenant cette option: http://code.google.com/p/csharp-sqlite/ - un port complet de SQLite vers C #.
Les gens de sqlite.org ont repris le développement du fournisseur ADO.NET:
Depuis leur page d'accueil :
Il s'agit d'un fork de l'adaptateur ADO.NET 4.0 pour SQLite connu sous le nom de System.Data.SQLite. Le créateur de System.Data.SQLite, Robert Simpson, est au courant de cette fourchette, a exprimé son approbation et a des privilèges de validation sur le nouveau référentiel Fossil. L'équipe de développement SQLite a l'intention de maintenir System.Data.SQLite à l'avenir.
Les versions historiques, ainsi que les forums de support d'origine, peuvent toujours être trouvés sur http://sqlite.phxsoftware.com , bien qu'il n'y ait eu aucune mise à jour de cette version depuis avril 2010.
La liste complète des fonctionnalités peut être consultée sur leur wiki . Les faits saillants comprennent
Les DLL publiées peuvent être téléchargées directement à partir du 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é en une seule DLL. Pas sqlite3.dll - parce que le code C de SQLite est incorporé dans System.Data.SQLite.dll. Un peu de magie C ++ managée.
sqlite-net est une bibliothèque open source minimale pour permettre aux applications .NET et Mono de stocker des données dans des bases de données SQLite 3 . Plus d'informations sur la page wiki .
Il est écrit en C # et est destiné à être simplement compilé avec vos projets. Il a d'abord été conçu pour fonctionner avec MonoTouch sur l'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 package Nuget , où il s'agit du 2e package SQLite le plus populaire avec plus de 60000 téléchargements en 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 comprennent:
Mono est livré avec un emballage. https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 donne le code pour envelopper 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/ ) de manière conviviale .net. Cela fonctionne sous Linux ou Windows.
Cela semble le plus mince de tous les mondes, minimisant votre dépendance vis-à-vis des bibliothèques tierces. Si je devais faire ce projet à partir de zéro, c'est comme ça que je le ferais.
Microsoft fournit désormais Microsoft.Data.Sqlite en tant que solution SQLite propriétaire pour .NET, qui est fournie dans le cadre d'ASP.NET Core. La licence est la licence Apache, version 2.0 .
* Avertissement: Je ne l' ai pas fait essayé d' utiliser ce encore moi - même, mais il y a une documentation fournie sur Microsoft Docs ici pour l' utiliser avec .NET Core UWP.
Pour ceux comme moi qui n'ont pas besoin ou ne veulent pas d'ADO.NET, ceux qui ont besoin d'exécuter du code plus près 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 en tant que nuget ici https://www.nuget.org/packages/SqlNado mais également disponible en tant que fichier .cs unique, il est donc assez pratique à utiliser dans n'importe quel type de projet C #.
Il prend en charge toutes les fonctionnalités SQLite lors de l'utilisation de commandes SQL et prend également en charge la plupart des fonctionnalités 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 en gros, cela vous permet d'utiliser les modèles ADO .NET habituels avec sqlite.
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 pour le développement d'applications de base de données basées sur SQLite. Dans le cadre du développement de l'application de base de données Devart, dotConnect for SQLite offre à la fois une connectivité native haute performance à 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 concevoir l'architecture d'application, augmente la productivité et tire parti de la mise en œuvre des applications de base de données.
J'utilise la version standard, cela fonctionne parfaitement :)
Un wrapper barebones des fonctions fournies par la bibliothèque sqlite. La dernière version prend en charge les fonctions fournies bibliothèque sqlite 3.7.10