11<Project Sdk =" Microsoft.NET.Sdk" >
2+
23 <PropertyGroup >
34 <TargetFramework >net10.0</TargetFramework >
45 <ImplicitUsings >enable</ImplicitUsings >
56 <Nullable >enable</Nullable >
7+ <RootNamespace >EntityFrameworkCore.Sqlite.Concurrency</RootNamespace >
68
79 <!-- Core Package Identity -->
810 <PackageId >EntityFrameworkCore.Sqlite.Concurrency</PackageId >
9- <RootNamespace >EntityFrameworkCore.Sqlite.Concurrency</RootNamespace >
10- <Version >10.0.1</Version >
11+ <Version >10.0.2</Version >
1112
12- <!-- SEO-Optimized Metadata - PERFORMANCE FIRST -->
13- <Title >EntityFrameworkCore.Sqlite.Concurrency - 10x Faster SQLite for EFCore with Parallel Reads & No Lock Errors</Title >
14- <Company >Cornerstone Code</Company >
13+ <!-- Core Metadata for Trust & Recognition -->
1514 <Authors >Mike Gotfryd</Authors >
15+ <Company >Cornerstone Code</Company >
16+ <Copyright >© 2026 Cornerstone Code. All rights reserved.</Copyright >
1617
17- <!-- SEO Primary Description: Performance as Lead Benefit -->
18- <Description >High-performance Entity Framework Core extension for SQLite with 10x faster bulk inserts and true parallel reads. Eliminate "database is locked" errors (SQLITE_BUSY) with automatic thread-safe concurrency management for .NET 10. Production-ready performance optimization that fixes SQLite's limitations while delivering enterprise-grade speed and reliability.</Description >
19-
20- <!-- Comprehensive Tags for Search - Performance Terms First -->
21- <PackageTags >SQLite; performance; high-performance; bulk insert; parallel reads; EntityFrameworkCore; EFCore; Entity Framework Core; concurrency; thread-safe; database locked; SQLITE_BUSY; multi-threading; .NET 10; dotnet; Entity Framework; ORM; data access; async; await; transactions; locking; write queue; WAL mode; optimization; speed; fast; throughput; scaling; benchmarks; 10x faster</PackageTags >
18+ <!-- ========== CRITICAL SEO OPTIMIZATIONS ========== -->
19+ <!-- 1. OPTIMIZED DESCRIPTION (Front-loaded value) -->
20+ <Description >
21+ Eliminates 'SQLITE_BUSY' / 'database is locked' errors in multi-threaded
22+ Entity Framework Core apps. Provides automatic write serialization, 10x faster
23+ bulk inserts, and true parallel reads for SQLite. A drop-in, high-performance,
24+ thread-safe addition to Microsoft.EntityFrameworkCore.Sqlite in .NET 10.
25+ </Description >
2226
23- <!-- Enhanced Keywords for NuGet Search Algorithm -->
27+
28+ <!-- 2. CORRECTED TAGS FORMAT (Space-delimited per NuGet spec) -->
29+ <PackageTags >sqlite sqlite3 entity-framework-core efcore concurrency thread-safe multi-threading database-locked sqlite-busy performance bulk-insert parallel-reads write-ahead-logging wal dotnet-10 entity-framework orm database-provider high-performance async transactions locking queue</PackageTags >
30+
31+ <!-- 3. STRUCTURED RELEASE NOTES -->
2432 <PackageReleaseNotes >
25- v10.0.0: Production release with performance optimizations. Achieve 10x faster bulk inserts and true parallel read scaling while eliminating SQLite database locked errors. Features: Automatic write serialization, optimized connection management, WAL mode configuration, and intelligent retry logic. Built for Entity Framework Core 10.0.0+ on .NET 10.
33+ <![CDATA[
34+ 🚀 **v10.0.2 - Initial Stable Release: Production-Ready SQLite Concurrency & Performance**
35+
36+ This first major release transforms SQLite into a robust database for concurrent .NET applications by fixing core limitations of the standard provider.
37+
38+ **✅ SOLVES: Concurrency & Locking Errors**
39+ • **Eliminates `SQLITE_BUSY` / "database is locked" errors** with automatic, application-level write serialization.
40+ • **Guarantees 100% write reliability** under any multi-threaded load.
41+
42+ **⚡ DELIVERS: Exceptional Performance**
43+ • **Achieves up to 10x faster bulk inserts** vs. standard `SaveChanges()` through intelligent batching.
44+ • **Enables true parallel read scaling** with non-blocking connections.
45+ • **Optimizes all interactions** (connections, transactions, WAL mode) for maximum throughput.
46+
47+ **🧩 PROVIDES: Seamless Developer Experience**
48+ • **Drop-in replacement** – change `UseSqlite()` to `UseSqliteWithConcurrency()`.
49+ • **Full EF Core compatibility** – all existing DbContexts, models, and LINQ queries work unchanged.
50+ • **Simplifies complex logic** – abstracts retry patterns, lock management, and connection pooling.
51+
52+ **🏗️ ENSURES: Enterprise-Grade Robustness**
53+ • Built-in production resilience with exponential backoff retry and crash-safe transactions.
54+ • Targets the modern .NET ecosystem with first-class support for **.NET 10** and **Entity Framework Core 10**.
55+
56+ Get started in one line. Stop compromising on SQLite reliability and speed.
57+ ]]>
2658 </PackageReleaseNotes >
59+ <!-- =============================================== -->
2760
28- <!-- Repository Information (GitHub SEO ) -->
61+ <!-- Repository & Project Info (Key Trust Signals ) -->
2962 <PackageProjectUrl >https://github.com/CornerstoneCode/EntityFrameworkCore.Sqlite.Concurrency</PackageProjectUrl >
3063 <RepositoryUrl >https://github.com/CornerstoneCode/EntityFrameworkCore.Sqlite.Concurrency.git</RepositoryUrl >
3164 <RepositoryType >git</RepositoryType >
65+ <!-- Enables SourceLink - Keep this for debugging support -->
66+ <PublishRepositoryUrl >true</PublishRepositoryUrl >
67+ <EmbedUntrackedSources >true</EmbedUntrackedSources >
3268
33- <!-- Trust Signals -->
69+ <!-- Licensing & Documentation (Mandatory for Trust) -->
3470 <PackageLicenseExpression >MIT</PackageLicenseExpression >
3571 <PackageReadmeFile >README.md</PackageReadmeFile >
36- <PackageIcon >res/logo.png</PackageIcon >
37-
38- <!-- Debugging Support (Increases Package Quality Score) -->
39- <PublishRepositoryUrl >true</PublishRepositoryUrl >
40- <EmbedUntrackedSources >true</EmbedUntrackedSources >
41- <IncludeSymbols >true</IncludeSymbols >
42- <SymbolPackageFormat >snupkg</SymbolPackageFormat >
43- <GenerateDocumentationFile >true</GenerateDocumentationFile >
72+ <PackageIcon >res\logo.png</PackageIcon >
73+ <PackageRequireLicenseAcceptance >false</PackageRequireLicenseAcceptance >
4474
45- <!-- Build Optimization -->
75+ <!-- Build & Packaging Configuration -->
4676 <GeneratePackageOnBuild >true</GeneratePackageOnBuild >
4777 <IsPackable >true</IsPackable >
48- <IsTrimmable >true</IsTrimmable >
49- <EnableTrimAnalyzer >true</EnableTrimAnalyzer >
5078
51- <!-- Additional Metadata for NuGet.org -->
52- <NeutralLanguage >en-US</NeutralLanguage >
53- <Copyright >© 2026 Cornerstone Code. All rights reserved.</Copyright >
54- <PackageRequireLicenseAcceptance >false</PackageRequireLicenseAcceptance >
79+ <!-- Debug Symbol Configuration -->
80+ <IncludeSymbols >true</IncludeSymbols >
81+ <SymbolPackageFormat >snupkg</SymbolPackageFormat >
5582 </PropertyGroup >
5683
57- <!-- Required Dependencies -->
84+ <!-- Dependencies -->
5885 <ItemGroup >
5986 <PackageReference Include =" Microsoft.EntityFrameworkCore.Sqlite" Version =" 10.0.0" />
6087 <PackageReference Include =" Microsoft.Data.Sqlite" Version =" 10.0.0" />
6188 <PackageReference Include =" Microsoft.Extensions.Logging.Abstractions" Version =" 10.0.0" />
6289 <PackageReference Include =" System.Threading.Channels" Version =" 8.0.0" />
90+ <!-- SourceLink for debugging support -->
91+ <PackageReference Include =" Microsoft.SourceLink.GitHub" Version =" 8.0.0" PrivateAssets =" All" />
6392 </ItemGroup >
6493
6594 <!-- Optional Dependencies (Conditional) -->
6998 <PackageReference Include =" Spectre.Console" Version =" 0.54.0" Condition =" '$(IncludeSpectre)' == 'true'" />
7099 </ItemGroup >
71100
101+ <!-- Packaged Files -->
72102 <ItemGroup >
73- <None Include =" doc\QUICKSTART.md" Pack =" true" PackagePath =" \" />
74103 <None Include =" ..\README.md" Pack =" true" PackagePath =" \" />
75104 <None Include =" res\logo.png" Pack =" true" PackagePath =" res\" />
76105 </ItemGroup >
77-
78- <!-- Source Link for Debugging -->
79- <ItemGroup >
80- <PackageReference Include =" Microsoft.SourceLink.GitHub" Version =" 8.0.0" PrivateAssets =" All" />
81- </ItemGroup >
82106</Project >
0 commit comments