Frage

Ich hatte ein bisschen wie SQLite zu verwenden, aus C # .Net, aber ich kann nicht eine entsprechende Bibliothek zu finden scheinen. Ist dort eines? Eine offizielle ein? Gibt es andere Möglichkeiten SQLite zu verwenden, als mit einem Wrapper?

War es hilfreich?

Lösung

https://system.data.sqlite.org :

  

System.Data.SQLite ist ein ADO.NET-Adapter für SQLite.

     

System.Data.SQLite wurde von Robert Simpson gestartet. Robert hat noch begehen Rechte auf diesem Repository ist aber nicht mehr ein aktiver Beitrag. Entwicklung und Wartungsarbeiten sind jetzt vor allem durch das SQLite-Entwicklerteam durchgeführt. Die SQLite-Team engagiert sich für System.Data.SQLite langfristige Unterstützung.

"System.Data.SQLite ist der ursprüngliche SQLite-Datenbank-Engine und ein vollständiger ADO.NET 2.0 Provider alle in einen einzigen gemischten Modus Montag gerollt. Es ist eine komplettes Drop-in-Ersatz für das Original sqlite3.dll (man kann sogar benennen sie sich in sqlite3.dll). im Gegensatz zu normalen gemischten Baugruppen, es keine Linker Abhängigkeit von der .NET-Laufzeit hat, so kann sie unabhängig von .NET verteilt werden. "

Es unterstützt sogar Mono.

Andere Tipps

Hier sind die, die ich finden kann:

Quellen:

Es gibt auch jetzt diese Option: http://code.google.com/p/csharp -sqlite / -. ein kompletter Hafen von SQLite zu C #

Die Leute von sqlite.org haben sich über die Entwicklung des ADO.NET-Provider wurde:

ihrer Homepage :

  

Dies ist eine Gabel des beliebten ADO.NET   4.0 Adapter für SQLite als System.Data.SQLite bekannt. Der Urheber   System.Data.SQLite, Robert Simpson, ist   Kenntnis von dieser Gabel, hat seine ausgedrückt   Genehmigung und hat Privilegien alles daran setzen,   die neue Fossil-Repository. die SQLite   Entwicklungsteam beabsichtigt zu halten   System.Data.SQLite voran.

     

Historische Versionen, sowie die   Original-Support-Foren, können nach wie vor   gefunden am    http://sqlite.phxsoftware.com , obwohl   Arbeid Diese keine Updates gewesen   Version seit April 2010.

Die vollständige Liste der Funktionen kann rel="noreferrer"> auf unter . Höhepunkte sind

  • ADO.NET 2.0-Unterstützung
  • Voll Entity Framework Unterstützung
  • Full Mono Unterstützung
  • Visual Studio 2005/2008 Entwurfszeit-Unterstützung
  • Compact Framework, C / C ++ Unterstützung

Veröffentlicht DLLs können rel="noreferrer"> der Website direkt von .

Ich würde auf jeden Fall mit System.Data.SQLite (wie bereits erwähnt: http: //sqlite.phxsoftware.com/ )

Es ist kohärent mit ADO.NET (System.Data. *) Und wird in einer einzigen DLL kompiliert. Kein sqlite3.dll - weil der C-Code von SQLite innerhalb System.Data.SQLite.dll eingebettet. Ein bisschen von Managed C ++ Magie.

SQLite-net ist ein Open Source, minimale Bibliothek .NET und Mono zu ermöglichen, Anwendungen, Daten zu speichern in SQLite 3 Datenbanken . Weitere Informationen unter Wikiseite .

Es ist in C # geschrieben und sollte bei Ihren Projekten einfach zusammengestellt in werden. Es wurde zuerst mit Monotouch auf dem iPhone zu arbeiten, hat aber auf allen Plattformen (Mono für Android, .NET, Silverlight, WP7, WinRT, Azure, etc.) Aufgewachsen zu arbeiten.

Es ist, als ein Nuget Paket zur Verfügung, wo es das zweite beliebtestene SQLite-Paket mit mehr als 60.000 Downloads ist ab 2014.

SQLite-net wurde als schnelle und bequeme Datenbankschicht entwickelt. Das Design folgt aus diesen Zielen:

  • Sehr einfach mit bestehenden Projekten und mit Monotouch-Projekten zu integrieren.
  • Thin Wrapper über SQLite und sollte schnell und effizient sein. (Die Bibliothek sollte die Performance-Engpass Ihrer Abfragen nicht sein.)
  • Sehr einfache Methoden zur Ausführung von CRUD-Operationen und Abfragen sicher (mit Parametern) und für die Ergebnisse dieser Abfrage in eine stark typisierten Art und Weise abgerufen werden.
  • Kompatibel mit Ihrem Datenmodell ohne dass Sie Ihre Klassen zu ändern. (Enthält eine kleine Reflexion getriebene ORM-Schicht).
  • 0 Abhängigkeiten abgesehen von einer kompilierten Form der sqlite2 Bibliothek.

Nicht-Ziele sind:

  • nicht eine ADO.NET-Implementierung. Dies ist keine vollständige SQLite-Treiber. Wenn Sie das Verwenden System.Data.SQLite.

Mono kommt mit einem Wrapper. https: // Github .com / Mono / Mono / Baum / Master / mcs / Klasse / Mono.Data.Sqlite / Mono.Data.Sqlite_2.0 gibt Code den tatsächlichen SQLite-dLL ( http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip auf der Download-Seite http://www.sqlite.org/download.html/ ) in eine .net freundliche Art und Weise. Es funktioniert auf Linux oder Windows.

Das scheint die dünnste aller Welten, Ihre Abhängigkeit von Drittanbieter-Bibliotheken zu minimieren. Wenn ich dieses Projekt von Grund auf neu zu tun hatte, ist dies die Art, wie ich es tun würde.

Microsoft.Data.Sqlite

Microsoft bietet jetzt Microsoft.Data.Sqlite als First-Party-SQLite-Lösung für .NET, die als Teil von ASP.NET Kern vorgesehen ist. Die Lizenz ist der Apache License, Version 2.0 .

* Disclaimer: Ich habe nicht wirklich versucht, mich mit diesem noch nicht, aber es gibt einige Dokumentation auf Microsoft Docs hier es mit .NET-Core und UWP verwenden.

Für diejenigen wie mich, die nicht brauchen oder wollen nicht ADO.NET, die auf SQLite diejenigen brauchen Code näher zu laufen, aber immer noch kompatibel mit netstandard (.net Framework, .net Kern, etc.), I ‚100% kostenloses Open-Source-Projekt namens ve gebaut SQLNado (für "Nicht ADO") auf gitHub hier:

https://github.com/smourier/SQLNado

Es ist verfügbar als nuget hier https://www.nuget.org/packages/SqlNado aber auch als einzelne CS-Datei, so ist es ganz praktisch in jedem C # Projekttyp zu verwenden.

Es unterstützt alle SQLite-Funktionen, wenn SQL-Befehle und unterstützt auch die meisten von SQLite-Funktionen über .NET:

  • Automatische Klasse-to-Tabellenzuordnung (Speichern, Löschen, Laden, LoadAll, LoadByPrimaryKey, LoadByForeignKey usw.)
  • Automatische Synchronisierung von Schema (Tabellen, Spalten) zwischen den Klassen und vorhandener Tabelle
  • passend für Thread-sichere Operationen
  • Wo und SortiertNach LINQ / IQueryable .NET Ausdrücke unterstützt (Arbeit ist noch im Gange in diesem Bereich), auch mit Sortierungs Unterstützung
  • SQLite-Datenbank-Schema (Tabellen, Spalten, etc.) ausgesetzt .NET
  • SQLite benutzerdefinierte Funktionen können in .NET geschrieben werden
  • SQLite inkrementell BLOB I / O als .NET-Stream ausgesetzt ist, hohen Speicherverbrauch
  • zu vermeiden
  • SQLite Sortierungs Unterstützung, einschließlich der Möglichkeit, benutzerdefinierte Sortierungen mit .NET-Code
  • hinzufügen
  • SQLite Volltext-Suchmaschine (FTS3) Unterstützung, einschließlich der Möglichkeit, benutzerdefinierte FTS3 Tokenizer Code mit .NET hinzuzufügen (wie lokalisierte Stoppwörter zum Beispiel). Ich glaube nicht, alle anderen .NET-Wrapper das tun.
  • Automatische Unterstützung für Windows 'winsqlite3.dll' (nur auf den letzten Windows-Versionen) auf vermeiden Versand jede binäre Abhängigkeit Datei. Dies funktioniert in Azure Web-Anwendungen auch!.

Version 1.2 von Monotouch bietet Unterstützung für System.Data. Sie können weitere Informationen finden Sie hier: http://monotouch.net/Documentation/System.Data

Aber im Grunde erlaubt es Ihnen, die üblichen ADO .NET-Muster mit SQLite zu verwenden.

http://www.devart.com/dotconnect/sqlite/

dotConnect für SQLite ist eine erweiterte Data Provider für SQLite, die auf ADO.NET-Technologie baut für die Entwicklung von SQLite-basierte Datenbankanwendungen eine komplette Lösung zu präsentieren. Als Teil des Entwicklungsrahmens Devart Datenbankanwendung, dotConnect für SQLite bietet sowohl eine hohe Leistung native Anbindung an die SQLite-Datenbank und eine Reihe von innovativen Entwicklungs-Tools und Technologien.

dotConnect für SQLite stellt neue Ansätze für die Gestaltung von Anwendungsarchitektur, steigert die Produktivität und nutzt Datenbankanwendung Umsetzung.

Ich verwende die Standard-Version, es funktioniert perfekt:)

Ein Barebone-Wrapper der Funktionen wie die SQLite-Bibliothek zur Verfügung gestellt. Die neueste Version unterstützt Funktionen zur Verfügung gestellt sqlite Bibliothek 3.7.10

SQLiteWrapper Projekt

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top