Table of Contents

Constructor EdgeDatabase

Namespace
Qavren.Edge.Sqlite
Assembly
Qavren.Edge.Sqlite.dll

EdgeDatabase(string, SqliteOptions, Func<IEdgeHost>, IEdgePaths, Func<ISqliteNativeProvider>, ILogger<EdgeDatabase>)

Creates a database over resolved options, paths, the host and the single native provider.

public EdgeDatabase(string name, SqliteOptions options, Func<IEdgeHost> host, IEdgePaths paths, Func<ISqliteNativeProvider> native, ILogger<EdgeDatabase> logger)

Parameters

name string
options SqliteOptions
host Func<IEdgeHost>
paths IEdgePaths
native Func<ISqliteNativeProvider>
logger ILogger<EdgeDatabase>

Remarks

The host and the native provider arrive as accessors, not instances, and that is load-bearing. The startup tasks depend on this database, so resolving IEdgeHost in this constructor closes a container cycle (database -> host -> startup tasks -> database) that MSDI cannot see through a factory registration and that hangs instead of failing. Deferring also keeps "no native provider registered" a startup fault, as the plan's Step 8 note requires, rather than a failure to resolve IEdgeDatabase at all.