MSQLite.Wrapper.Core
1.1.0
dotnet add package MSQLite.Wrapper.Core --version 1.1.0
NuGet\Install-Package MSQLite.Wrapper.Core -Version 1.1.0
<PackageReference Include="MSQLite.Wrapper.Core" Version="1.1.0" />
<PackageVersion Include="MSQLite.Wrapper.Core" Version="1.1.0" />
<PackageReference Include="MSQLite.Wrapper.Core" />
paket add MSQLite.Wrapper.Core --version 1.1.0
#r "nuget: MSQLite.Wrapper.Core, 1.1.0"
#:package MSQLite.Wrapper.Core@1.1.0
#addin nuget:?package=MSQLite.Wrapper.Core&version=1.1.0
#tool nuget:?package=MSQLite.Wrapper.Core&version=1.1.0
MSQLite.Wrapper
A high-performance, zero-dependency C++/CLI wrapper for SQLite, built specifically for .NET Core 3.1 .
It may work on .NET 5 through .NET 9, but compatibility is not guaranteed.
This library provides both low-level control and high-level ORM-style features, offering a fast and efficient bridge between your .NET application and the power of SQLite—without requiring any external dependencies or native runtime installations.
⚠️ Important: This package is built exclusively for .NET Core 3.1 x64/x86.
It is not compatible with AnyCPU, ARM, or non-Windows platforms.
🧩 This wrapper includes Ijwhost.dll to enable mixed-mode C++/CLI support in .NET Core. Without it, native interop will fail with BadImageFormatException.
Features
Zero Dependencies
Fully self-contained. Includes the SQLite source directly—no need to ship or install additional native libraries.High Performance
Built with C++/CLI to minimize overhead between managed (.NET) and native (SQLite) layers.ORM-like Convenience
Includes intuitive methods likeInsertReturning,UpdateReturning, andUpsertReturningfor seamless object mapping.Low-Level Control
Exposes preparedStatementobjects for precise parameter binding, result iteration, and query execution.Advanced SQLite Features
Supports transactions, savepoints, incremental BLOB I/O, and full database backup operations.IntelliSense-Ready
All public APIs are documented with XML comments for rich IntelliSense support in Visual Studio.
🔐 Integrated Encryption & Build Configuration
- Encryption support via SQLite3 Multiple Ciphers
- Compiled with AVX instruction set for enhanced performance
- ✅ All built-in extensions (e.g.,
compress,sqlar,zipfile) are compiled and automatically registered—no manual.loadorsqlite3_*_init()calls required. - Additionaly ICU, Decimal and ieee extensions are compiled and initialized. ICU libraries are contained in the package.
- Extension loading is enabled.
- Custom build flags for optimized behavior and reduced footprint:
SQLITE_DEFAULT_FOREIGN_KEYS=1
HAVE_ISNAN=1
SQLITE_OMIT_PROGRESS_CALLBACK
SQLITE_DEFAULT_MEMSTATUS=0
SQLITE_DQS=0
SQLITE_DEFAULT_WAL_SYNCHRONOUS=1
SQLITE_OMIT_DEPRECATED
SQLITE_OMIT_SHARED_CACHE
SQLITE_MAX_EXPR_DEPTH=0
SQLITE_TEMP_STORE=2
SQLITE_CORE=1
SQLITE_ENABLE_EXTFUNC=1
SQLITE_ENABLE_UUID=1
SQLITE_ENABLE_COMPRESS=1
SQLITE_ENABLE_SQLAR=1
SQLITE_ENABLE_ZIPFILE=1
SQLITE_ENABLE_CSV=1
SQLITE3MC_USE_MINIZ=1
SQLITE_ENABLE_DBPAGE_VTAB
SQLITE_ENABLE_REGEXP
SQLITE_ENABLE_SERIES
SQLITE_ENABLE_FILEIO
SQLITE_ENABLE_VSV
SQLITE_ENABLE_SHA3
SQLITE_ENABLE_CARRAY
SQLITE_THREADSAFE=2
SQLITE_ENABLE_FTS3
SQLITE_ENABLE_FTS3_PARENTHESIS
SQLITE_ENABLE_FTS4
SQLITE_ENABLE_FTS5
SQLITE_ENABLE_SESSION
SQLITE_ENABLE_ICU
FastLZ Compression
MSQLite includes built-in support for FastLZ compression via the MSQLite.Fastlz class.
byte[] compressed = Fastlz.Compress(data);
byte[] decompressed = Fastlz.Decompress(compressed);
byte[] compressedText = Fastlz.CompressString("Hello world");
string restored = Fastlz.DecompressString(compressedText);
⚠️ Ensure your project is targeting x64:
<PropertyGroup>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
Getting Started
📂 You can find a complete runnable example in Program.cs.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.1 is compatible. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial release of MSQLite.Wrapper.Core targeting .NET Core 3.1 (x64/x86).
Highlights:
- C++/CLI wrapper for SQLite with ergonomic managed API and ORM-style access.
- Platform-specific builds for x64 and x86, including ijwhost.dll for mixed-mode activation.
- Integrated encryption support via SQLite3 Multiple Ciphers (AES, ChaCha20, etc.).
- FastLZ compression for strings and binary data via MSQLite.Fastlz.
- ICU support for Unicode collation and locale-aware sorting.
- Debugging support via PDB symbols.
- Includes a complete runnable example (Program.cs) and README documentation.