Rask.SQLite.EntityFrameworkCore
0.20.1-alpha.0.15
See the version list below for details.
dotnet add package Rask.SQLite.EntityFrameworkCore --version 0.20.1-alpha.0.15
NuGet\Install-Package Rask.SQLite.EntityFrameworkCore -Version 0.20.1-alpha.0.15
<PackageReference Include="Rask.SQLite.EntityFrameworkCore" Version="0.20.1-alpha.0.15" />
<PackageVersion Include="Rask.SQLite.EntityFrameworkCore" Version="0.20.1-alpha.0.15" />
<PackageReference Include="Rask.SQLite.EntityFrameworkCore" />
paket add Rask.SQLite.EntityFrameworkCore --version 0.20.1-alpha.0.15
#r "nuget: Rask.SQLite.EntityFrameworkCore, 0.20.1-alpha.0.15"
#:package Rask.SQLite.EntityFrameworkCore@0.20.1-alpha.0.15
#addin nuget:?package=Rask.SQLite.EntityFrameworkCore&version=0.20.1-alpha.0.15&prerelease
#tool nuget:?package=Rask.SQLite.EntityFrameworkCore&version=0.20.1-alpha.0.15&prerelease
Rask.SQLite.EntityFrameworkCore
The Entity Framework Core integration for Rask.SQLite.
UseRaskSqlite(...) is a drop-in replacement for UseSqlite that also wires a ConnectionOpened
interceptor applying the production pragma set — WAL, synchronous=NORMAL,
foreign_keys=ON, a busy_timeout, mmap_size, journal_size_limit — to every connection the context
opens.
Split out from Rask.SQLite so apps that only use the raw Microsoft.Data.Sqlite path (or run on
mobile / under AOT, where you don't want EF Core) can stay lean.
Install
dotnet add package Rask.SQLite.EntityFrameworkCore
Use
builder.Services.AddDbContextFactory<AppDb>(o =>
o.UseRaskSqlite($"Data Source={dbPath}"));
Override any pragma via the optional configure delegate:
o.UseRaskSqlite($"Data Source={dbPath}", p =>
{
p.BusyTimeout = TimeSpan.FromSeconds(10);
p.CacheSize = -20_000; // negative ⇒ KiB, so 20 MB
});
Busy-retry for SaveChanges
Pass configureRetry (even empty) to register a fair-interval execution strategy so
SaveChanges/queries retry on SQLITE_BUSY/SQLITE_LOCKED at a constant 1 ms interval, awaiting
(not blocking) between attempts:
o.UseRaskSqlite($"Data Source={dbPath}", configureRetry: _ => { });
The truly non-blocking, BEGIN IMMEDIATE write path lives in Rask.SQLite
(ExecuteInImmediateTransactionAsync); see the docs for when to reach for it.
Not using EF Core? Use Rask.SQLite directly: services.AddRaskSqlite(cs) + inject
IRaskSqliteConnectionFactory.
Full documentation: https://github.com/pal-tamas/rask/blob/main/docs/sqlite.md
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Microsoft.EntityFrameworkCore.Sqlite (>= 10.0.10)
- Rask.SQLite (>= 0.20.1-alpha.0.15)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 3.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.20.1-alpha.0.52 | 29 | 8/14/2026 |
| 0.20.1-alpha.0.47 | 34 | 8/14/2026 |
| 0.20.1-alpha.0.46 | 30 | 8/14/2026 |
| 0.20.1-alpha.0.43 | 42 | 8/12/2026 |
| 0.20.1-alpha.0.42 | 41 | 8/12/2026 |
| 0.20.1-alpha.0.41 | 39 | 8/12/2026 |
| 0.20.1-alpha.0.40 | 40 | 8/12/2026 |
| 0.20.1-alpha.0.38 | 38 | 8/12/2026 |
| 0.20.1-alpha.0.36 | 55 | 8/10/2026 |
| 0.20.1-alpha.0.18 | 45 | 8/8/2026 |
| 0.20.1-alpha.0.17 | 49 | 8/8/2026 |
| 0.20.1-alpha.0.16 | 45 | 8/8/2026 |
| 0.20.1-alpha.0.15 | 52 | 8/7/2026 |
| 0.20.1-alpha.0.14 | 54 | 8/7/2026 |
| 0.20.1-alpha.0.13 | 50 | 8/7/2026 |
| 0.20.1-alpha.0.12 | 48 | 8/7/2026 |
| 0.20.1-alpha.0.11 | 52 | 8/7/2026 |
| 0.20.1-alpha.0.9 | 47 | 8/7/2026 |
| 0.20.1-alpha.0.8 | 55 | 8/7/2026 |
| 0.20.0 | 232 | 8/6/2026 |