Lyo.FileMetadataStore.Sqlite 3.0.0

dotnet add package Lyo.FileMetadataStore.Sqlite --version 3.0.0
                    
NuGet\Install-Package Lyo.FileMetadataStore.Sqlite -Version 3.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Lyo.FileMetadataStore.Sqlite" Version="3.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Lyo.FileMetadataStore.Sqlite" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Lyo.FileMetadataStore.Sqlite" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Lyo.FileMetadataStore.Sqlite --version 3.0.0
                    
#r "nuget: Lyo.FileMetadataStore.Sqlite, 3.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Lyo.FileMetadataStore.Sqlite@3.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Lyo.FileMetadataStore.Sqlite&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Lyo.FileMetadataStore.Sqlite&version=3.0.0
                    
Install as a Cake Tool

Lyo.FileMetadataStore.Sqlite

EF Core SQLite IFileMetadataStore. Same store and adjunct services as Lyo.FileMetadataStore.Postgres, for embedded, offline-first, and local-dev hosts.

Examples

Add the SQLite store

using Lyo.FileMetadataStore.Sqlite;

// Simple
services.AddSqliteFileMetadataStore("Data Source=./filestore.db");

// With auto-migrations at host startup
services.AddSqliteFileMetadataStoreDbContextFactoryFromConfiguration(configuration);
services.AddSqliteFileMetadataStore();
services.AddSqliteFileAuditSink();
services.AddSqliteFileDownloadAccessService();

// Keyed (multi-store hosts)
services.AddSqliteFileMetadataStoreKeyed("sqlite-metadata")
    .ConfigureSqliteFileStore(options => {
        options.ConnectionString = "Data Source=./filestore.db";
        options.EnableAutoMigrations = true;
    })
    .Build();

appsettings.json

{
  "SqliteFileMetadataStore": {
    "ConnectionString": "Data Source=./filestore.db",
    "EnableAutoMigrations": true
  }
}

Attach to keyed file storage

services.AddS3FileStorageServiceKeyed("my-files")
    .UseFileMetadataStore("sqlite-metadata")
    .Build(configuration);

Types

Component Role
SqliteFileMetadataStore IFileMetadataStore + IHealth
SqliteFileAuditSink IFileAuditEventHandler. Append-only audit rows.
SqliteMultipartUploadSessionStore IMultipartUploadSessionStore
SqliteFileDownloadAccessService Time-limited download access tokens
SqliteFileMetadataStoreDbContext EF Core context (5 tables, same shape as Postgres)

Tables: file_metadata, file_data, file_audit_events, multipart_upload_session, file_download_access_links.

How to register

appsettings.json: Point blob storage at the keyed metadata store the same way as Postgres:

How migrations run

Migrations ship in this package. Turn on EnableAutoMigrations (via Lyo.Sqlite) or run dotnet ef database update using SqliteFileMetadataStoreDbContextFactory. Design-time connection string: FILEMETADATASTORE_CONNECTION_STRING or FILESTORE_CONNECTION_STRING (defaults to Data Source=./filestore-design.db). DropStagedFileUpload removes the former staged_file_upload table. AddFileMetadataJson adds opaque metadata_json on file_metadata and multipart_upload_session.

Writer limits

SQLite is single-writer. Fine for embedded clients, local tools, and low-concurrency dev hosts. High-throughput multi-instance ingestion should use Postgres. Enable WAL at the connection level if the host opens many concurrent readers (PRAGMA journal_mode=WAL).

Dependencies

Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).

  • Lyo.Exceptions (direct, lyo)
  • Lyo.FileMetadataStore (direct, lyo)
  • Lyo.FileStorage (direct, lyo)
  • Lyo.Health (direct, lyo)
  • Lyo.Lock (direct, lyo)
  • Lyo.Sqlite (direct, lyo)
  • Microsoft.EntityFrameworkCore 10.0.5 (direct, microsoft)
  • Microsoft.EntityFrameworkCore.Design 10.0.5 (direct, microsoft)
  • Microsoft.Extensions.Configuration.Binder 10.0.5 (direct, microsoft)
  • Lyo.Common.Core (transitive, lyo)
  • Lyo.Common.Metadata (transitive, lyo)
  • Lyo.Compression (transitive, lyo)
  • Lyo.Encryption (transitive, lyo)
  • Lyo.Hashing (transitive, lyo)
  • Lyo.IO.FileSystem (transitive, lyo)
  • Lyo.IO.Temp (transitive, lyo)
  • Lyo.KeyStore (transitive, lyo)
  • Lyo.Metrics (transitive, lyo)
  • Lyo.Result (transitive, lyo)
  • Lyo.Streams (transitive, lyo)
  • BouncyCastle.Cryptography 2.6.2 (transitive, third-party, netstandard2.0)
  • EasyCompressor 2.1.0 (transitive, third-party)
  • Konscious.Security.Cryptography.Argon2 1.3.1 (transitive, third-party)
  • Microsoft.Bcl.AsyncInterfaces 10.0.5 (transitive, microsoft, netstandard2.0)
  • Microsoft.EntityFrameworkCore.Sqlite 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.DependencyInjection.Abstractions 10.0.5 (transitive, microsoft, net10.0, netstandard2.0)
  • Microsoft.Extensions.Hosting.Abstractions 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Logging.Abstractions 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Options 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Options.ConfigurationExtensions 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Options.DataAnnotations 10.0.5 (transitive, microsoft)
  • System.Buffers 4.6.1 (transitive, microsoft, netstandard2.0)
  • System.IO.Hashing 10.0.5 (transitive, microsoft, net10.0)
  • System.Memory 4.6.3 (transitive, microsoft, netstandard2.0)
  • System.Text.Json 10.0.5 (transitive, microsoft, netstandard2.0)
  • System.Threading.Tasks.Extensions 4.6.3 (transitive, microsoft, netstandard2.0)
Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Lyo.FileMetadataStore.Sqlite:

Package Downloads
Lyo.FileManager

Desktop file manager session for a remote FileStorage API or a local disk store.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.0 43 10/23/2026
2.0.1 131 9/14/2026
2.0.0 118 9/9/2026
1.0.13 111 8/25/2026
1.0.11 113 8/23/2026
1.0.9 121 8/22/2026
1.0.7 121 8/22/2026
1.0.6 127 8/20/2026
1.0.4 126 8/20/2026
1.0.3 111 8/19/2026
1.0.2 124 8/19/2026
1.0.1 121 8/18/2026
1.0.0 124 8/16/2026