Constructor EdgeDatabase
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
namestringoptionsSqliteOptionshostFunc<IEdgeHost>pathsIEdgePathsnativeFunc<ISqliteNativeProvider>loggerILogger<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.