Skip to content

davidschwegler/System.Data.SQLite

 
 

Repository files navigation

A lightweight cross-platform replacement for System.Data.SQLite

This is an independent implementation of the core of ADO.NET: IDbConnection, IDbCommand, IDbDataReader, IDbTransaction (plus a few helpers) — enough types to let you create and query SQLite databases from managed code, including support for libraries such as Dapper.

It supports the following platforms: .NET 4.5 (Any CPU), Xamarin.iOS, PCL, MonoTouch, MonoAndroid.

If you’re looking for the official ADO.NET wrapper for SQLite, it can be found at http://system.data.sqlite.org/.

Build Status

Build status

Why?

  1. Lightweight
  • Only the core of ADO.NET is implemented, not EF or Designer types.
  • The official System.Data.SQLite is 276KB; this library is under 50KB.
  1. High performance
  • This library assumes that the caller will use IDisposable properly, so it avoids adding finalizers to clean up incorrect usage.
  • No static constructors (e.g., SQLiteFunction) that reflect over all loaded assemblies.
  1. Cross-platform support
  • Works on desktop and mobile devices
  1. Tested
  • This implementation has been shipping in Logos 6 and installed on tens of thousands of client machines. The developers track and fix crashes reported via Raygun.

Enhancements

Compatibility

This library is generally compatible with the official System.Data.SQLite API, but a few changes were made where necessary:

This wrapper is managed-only; you still need a copy of the native SQLite library. A recent copy is provided in the lib folder (for the unit tests).

About

A lightweight ADO.NET wrapper around SQLite

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 98.2%
  • PowerShell 1.8%