Czy istnieje opakowanie .NET / C # dla SQLite? [Zamknięte]
267
Chciałbym użyć SQLite z poziomu C # .Net, ale nie mogę znaleźć odpowiedniej biblioteki. Czy jest jeden Oficjalny? Czy są inne sposoby korzystania z SQLite niż z opakowania?
System.Data.SQLite został uruchomiony przez Roberta Simpsona. Robert nadal ma uprawnienia do zatwierdzania tego repozytorium, ale nie jest już aktywnym współtwórcą. Prace programistyczne i konserwacyjne są obecnie w większości wykonywane przez zespół programistów SQLite. Zespół SQLite jest zaangażowany w długoterminową obsługę System.Data.SQLite.
„System.Data.SQLite jest oryginalnym silnikiem bazy danych SQLite i kompletnym dostawcą ADO.NET 2.0 zintegrowanym w jednym zestawie trybu mieszanego. Jest to kompletny zamiennik oryginalnego pliku sqlite3.dll (możesz nawet zmienić jego nazwę na sqlite3.dll). W przeciwieństwie do normalnych zestawów mieszanych, nie ma zależności linkera od środowiska uruchomieniowego .NET, więc może być dystrybuowany niezależnie od .NET. ”
To stare pytanie, ale musiałem dodać 0,02 $. System.Data.SQLite skały. Jest to bardzo wyrafinowana, stabilna i komercyjna jakość. Co najważniejsze, jest to w 100% zarządzany kod i został wydany jako kod źródłowy domeny publicznej.
Nathan Ridley
4
Tylko dla spójności, ponieważ ludzie mówią o obu rzeczach jako o różnych rzeczach. W sqlite.phxsoftware.com jesteś kierowany do sourceforge.net/projects/sqlite-dotnet2 do pobrania.
yeyeyerman,
16
To opakowanie nie jest już opracowywane przez jego oryginalnego autora, a rozwój wydaje się być przejęty przez sam SQLite. Nowa strona znajduje się pod adresem system.data.sqlite.org, choć w tej chwili wydaje się mniej przyjazna dla użytkownika i trwa w toku w porównaniu do oryginalnej.
mikel
5
@NathanRidley - Czy jesteś pewien, że jest w 100% zarządzany, ponieważ ta odpowiedź mówi: „System.Data.SQLite to oryginalny silnik bazy danych SQLite, a kompletny dostawca ADO.NET 2.0 jest
zintegrowany
2
Do Twojej wiadomości próbowałem użyć pakietu Microsoft.Data.Sqlite .NET Standard Nuget, ale nie udało się to podczas kilku testów integracji w bibliotece AsyncPoco Github. Po przejściu na System.Data.SQLite wszystko działało idealnie.
To jest rozwidlenie popularnego adaptera ADO.NET 4.0 dla SQLite znanego jako System.Data.SQLite. Pomysłodawca System.Data.SQLite, Robert Simpson, jest świadomy tego rozwidlenia, wyraził swoją zgodę i ma uprawnienia do zatwierdzania nowego repozytorium Fossil. Zespół programistów SQLite zamierza kontynuować rozwój System.Data.SQLite.
Wersje historyczne, a także oryginalne fora wsparcia, można nadal znaleźć na stronie
http://sqlite.phxsoftware.com , chociaż od kwietnia 2010 r. Nie było żadnych aktualizacji tej wersji.
Pełna lista funkcji znajduje się na ich wiki . Najważniejsze to
Obsługa ADO.NET 2.0
Pełna obsługa Entity Framework
Pełna obsługa mono
Obsługa Visual Studio 2005/2008 Design-Time
Compact Framework, obsługa C / C ++
Wydane biblioteki DLL można pobrać bezpośrednio ze strony .
Jest spójny z ADO.NET (System.Data. *) I jest skompilowany w pojedynczą bibliotekę DLL. Brak sqlite3.dll - ponieważ kod C SQLite jest osadzony w System.Data.SQLite.dll. Trochę zarządzanej magii C ++.
sqlite-net to otwarta biblioteka, minimalna biblioteka pozwalająca aplikacjom .NET i Mono na przechowywanie danych w bazach danych SQLite 3 . Więcej informacji na stronie wiki .
Jest napisany w C # i ma być po prostu kompilowany z twoimi projektami. Po raz pierwszy został zaprojektowany do współpracy z MonoTouch na iPhonie, ale dorósł do pracy na wszystkich platformach (Mono dla Androida, .NET, Silverlight, WP7, WinRT, Azure itp.).
Jest dostępny jako pakiet Nuget , gdzie jest drugim najpopularniejszym pakietem SQLite z ponad 60 000 pobrań od 2014 roku.
sqlite-net został zaprojektowany jako szybka i wygodna warstwa bazy danych. Jego konstrukcja wynika z następujących celów:
Bardzo łatwa do zintegrowania z istniejącymi projektami i projektami MonoTouch.
Cienkie opakowanie na SQLite i powinno być szybkie i wydajne. (Biblioteka nie powinna stanowić wąskiego gardła w wydajności zapytań).
Bardzo proste metody bezpiecznego wykonywania operacji CRUD i zapytań (przy użyciu parametrów) oraz uzyskiwania wyników tych zapytań w mocno typowy sposób.
Współpracuje z modelem danych bez zmuszania do zmiany klas. (Zawiera małą warstwę ORM opartą na odbiciu).
0 zależności oprócz skompilowanej formy biblioteki sqlite2.
Do celów innych należą:
Nie implementacja ADO.NET. To nie jest pełny sterownik SQLite. Jeśli potrzebujesz, użyj System.Data.SQLite.
Zauważyłem, że większość komentarzy sprzed 2014 roku zawierała System.Data.SQLite, który próbowałem zainstalować w mojej aplikacji Windows Store (nie działał). Sqlite-net działa.
To wydaje się najcieńsze ze wszystkich światów, minimalizując twoją zależność od bibliotek stron trzecich. Gdybym musiał wykonać ten projekt od zera, to właśnie tak bym to zrobił.
Microsoft zapewnia teraz Microsoft.Data.Sqlite jako własne rozwiązanie SQLite dla platformy .NET, które jest dostarczane jako część programu ASP.NET Core. Licencja jest licencją Apache, wersja 2.0 .
Dla takich jak ja, którzy nie potrzebują lub nie chcą ADO.NET, ci, którzy muszą uruchamiać kod bliżej SQLite, ale nadal kompatybilny z netstandard(.NET Framework, .net core itp.), Zbudowałem 100% darmowy projekt open source o nazwie SQLNado (dla „Not ADO”) dostępny na github tutaj:
Jest dostępny jako nuget tutaj https://www.nuget.org/packages/SqlNado, ale jest również dostępny jako pojedynczy plik .cs, więc jest całkiem praktyczny w użyciu w każdym typie projektu C #.
Obsługuje wszystkie funkcje SQLite podczas korzystania z poleceń SQL, a także obsługuje większość funkcji SQLite za pośrednictwem platformy .NET:
Automatyczne mapowanie klasy do tabeli (Zapisz, Usuń, Ładuj, LoadAll, LoadByPrimaryKey, LoadByForeignKey itp.)
Automatyczna synchronizacja schematu (tabel, kolumn) między klasami a istniejącą tabelą
Zaprojektowany do operacji z gwintem bezpiecznym
Gdzie i obsługiwane są wyrażenia LINQ / IQueryable .NET (prace w tym obszarze są nadal w toku), również z obsługą sortowania
Schemat bazy danych SQLite (tabele, kolumny itp.) Narażony na .NET
Niestandardowe funkcje SQLite można pisać w .NET
Przyrostowy BLOB I / O SQLite jest udostępniany jako strumień .NET, aby uniknąć dużego zużycia pamięci
Obsługa sortowania SQLite, w tym możliwość dodawania niestandardowych sortowań przy użyciu kodu .NET
Obsługa wyszukiwarki pełnotekstowej SQLite (FTS3), w tym możliwość dodawania niestandardowych tokenizatorów FTS3 przy użyciu kodu .NET (na przykład zlokalizowanych słów stop). Nie sądzę, aby robiło to inne opakowanie .NET.
Automatyczne wsparcie dla Windows „winsqlite3.dll” (tylko w najnowszych wersjach Windows), aby uniknąć wysyłania binarnych plików zależności . Działa to również w aplikacjach internetowych Azure!
dotConnect dla SQLite to ulepszony dostawca danych dla SQLite, który wykorzystuje technologię ADO.NET, aby przedstawić kompletne rozwiązanie do tworzenia aplikacji bazodanowych opartych na SQLite. Jako część środowiska programowania aplikacji bazodanowych Devart, dotConnect for SQLite oferuje zarówno wysoką wydajność natywnej łączności z bazą danych SQLite, jak i szereg innowacyjnych narzędzi i technologii programistycznych.
dotConnect dla SQLite wprowadza nowe podejścia do projektowania architektury aplikacji, zwiększa produktywność i wspomaga implementację aplikacji bazodanowych.
Odpowiedzi:
Od https://system.data.sqlite.org :
„System.Data.SQLite jest oryginalnym silnikiem bazy danych SQLite i kompletnym dostawcą ADO.NET 2.0 zintegrowanym w jednym zestawie trybu mieszanego. Jest to kompletny zamiennik oryginalnego pliku sqlite3.dll (możesz nawet zmienić jego nazwę na sqlite3.dll). W przeciwieństwie do normalnych zestawów mieszanych, nie ma zależności linkera od środowiska uruchomieniowego .NET, więc może być dystrybuowany niezależnie od .NET. ”
Obsługuje nawet Mono.
źródło
Oto te, które mogę znaleźć:
Źródła:
źródło
Dostępna jest również ta opcja: http://code.google.com/p/csharp-sqlite/ - kompletny port SQLite do C #.
źródło
Ludzie z sqlite.org przejęli rozwój dostawcy ADO.NET:
Z ich strony głównej :
Pełna lista funkcji znajduje się na ich wiki . Najważniejsze to
Wydane biblioteki DLL można pobrać bezpośrednio ze strony .
źródło
Zdecydowanie wybrałbym System.Data.SQLite (jak wcześniej wspomniano: http://sqlite.phxsoftware.com/ )
Jest spójny z ADO.NET (System.Data. *) I jest skompilowany w pojedynczą bibliotekę DLL. Brak sqlite3.dll - ponieważ kod C SQLite jest osadzony w System.Data.SQLite.dll. Trochę zarządzanej magii C ++.
źródło
sqlite-net to otwarta biblioteka, minimalna biblioteka pozwalająca aplikacjom .NET i Mono na przechowywanie danych w bazach danych SQLite 3 . Więcej informacji na stronie wiki .
Jest napisany w C # i ma być po prostu kompilowany z twoimi projektami. Po raz pierwszy został zaprojektowany do współpracy z MonoTouch na iPhonie, ale dorósł do pracy na wszystkich platformach (Mono dla Androida, .NET, Silverlight, WP7, WinRT, Azure itp.).
Jest dostępny jako pakiet Nuget , gdzie jest drugim najpopularniejszym pakietem SQLite z ponad 60 000 pobrań od 2014 roku.
sqlite-net został zaprojektowany jako szybka i wygodna warstwa bazy danych. Jego konstrukcja wynika z następujących celów:
Do celów innych należą:
źródło
Mono ma opakowanie. https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 daje kod do zawijania faktycznej biblioteki DLL SQLite ( http: //www.sqlite. org / sqlite-shell-win32-x86-3071300.zip znaleziony na stronie pobierania http://www.sqlite.org/download.html/ ) w przyjazny dla środowiska .net. Działa w systemie Linux lub Windows.
To wydaje się najcieńsze ze wszystkich światów, minimalizując twoją zależność od bibliotek stron trzecich. Gdybym musiał wykonać ten projekt od zera, to właśnie tak bym to zrobił.
źródło
Microsoft.Data.Sqlite
Microsoft zapewnia teraz Microsoft.Data.Sqlite jako własne rozwiązanie SQLite dla platformy .NET, które jest dostarczane jako część programu ASP.NET Core. Licencja jest licencją Apache, wersja 2.0 .
* Uwaga: Nie rzeczywiście spróbował wykorzystać ten sam jeszcze, ale jest jakaś dokumentacja Microsoft Docs tutaj do używania z .NET Core i UWP.
źródło
Dla takich jak ja, którzy nie potrzebują lub nie chcą ADO.NET, ci, którzy muszą uruchamiać kod bliżej SQLite, ale nadal kompatybilny z
netstandard
(.NET Framework, .net core itp.), Zbudowałem 100% darmowy projekt open source o nazwie SQLNado (dla „Not ADO”) dostępny na github tutaj:https://github.com/smourier/SQLNado
Jest dostępny jako nuget tutaj https://www.nuget.org/packages/SqlNado, ale jest również dostępny jako pojedynczy plik .cs, więc jest całkiem praktyczny w użyciu w każdym typie projektu C #.
Obsługuje wszystkie funkcje SQLite podczas korzystania z poleceń SQL, a także obsługuje większość funkcji SQLite za pośrednictwem platformy .NET:
źródło
Wersja 1.2 Monotouch zawiera obsługę System.Data. Więcej informacji można znaleźć tutaj: http://monotouch.net/Documentation/System.Data
Ale w zasadzie pozwala na użycie zwykłych wzorców ADO .NET z sqlite.
źródło
http://www.devart.com/dotconnect/sqlite/
dotConnect dla SQLite to ulepszony dostawca danych dla SQLite, który wykorzystuje technologię ADO.NET, aby przedstawić kompletne rozwiązanie do tworzenia aplikacji bazodanowych opartych na SQLite. Jako część środowiska programowania aplikacji bazodanowych Devart, dotConnect for SQLite oferuje zarówno wysoką wydajność natywnej łączności z bazą danych SQLite, jak i szereg innowacyjnych narzędzi i technologii programistycznych.
dotConnect dla SQLite wprowadza nowe podejścia do projektowania architektury aplikacji, zwiększa produktywność i wspomaga implementację aplikacji bazodanowych.
Używam wersji standardowej, działa idealnie :)
źródło
Ogołocone opakowanie funkcji dostarczone przez bibliotekę sqlite. Najnowsza wersja obsługuje funkcje udostępnionej biblioteki sqlite 3.7.10
Projekt SQLiteWrapper
źródło