LSL.DbConfigurationProvider
1.0.10
dotnet add package LSL.DbConfigurationProvider --version 1.0.10
NuGet\Install-Package LSL.DbConfigurationProvider -Version 1.0.10
<PackageReference Include="LSL.DbConfigurationProvider" Version="1.0.10" />
<PackageVersion Include="LSL.DbConfigurationProvider" Version="1.0.10" />
<PackageReference Include="LSL.DbConfigurationProvider" />
paket add LSL.DbConfigurationProvider --version 1.0.10
#r "nuget: LSL.DbConfigurationProvider, 1.0.10"
#:package LSL.DbConfigurationProvider@1.0.10
#addin nuget:?package=LSL.DbConfigurationProvider&version=1.0.10
#tool nuget:?package=LSL.DbConfigurationProvider&version=1.0.10
LSL.DbConfigurationProvider
Provides a ConfigurationProvider that reads settings from a database table.
Configuring with the default settings
The following example sets up a DB configuration provider that fetches the settings from a table called Settings with a key field called Key and a value field called Value.
var builder = new ConfigurationBuilder();
builder.AddDbConfiguration(
() => new SqlConnection("my-connection-string"));
Configuring with the custom settings
The following example sets up a DB configuration provider that fetches the settings from a table called OtherSettings with a key field called OtherKey and a value field called OtherValue.
var builder = new ConfigurationBuilder();
builder.AddDbConfiguration(
() => new SqlConnection("my-connection-string"),
"OtherSettings",
"OtherKey",
"OtherValue");
Configuring with a key prefix
The following example sets up a DB configuration provider that only fetches settings whose keys are prefixed with the value of the keyPrefix parameter.
var builder = new ConfigurationBuilder();
builder.AddDbConfiguration(
() => new SqlConnection("my-connection-string"),
keyPrefix: "my-application:");
All returned settings will have the prefix automatically removed from the key name.
Dealing with errors on load
An optional paramter onLoadError allows for the passing of a delegate to decide what to do when an error occurs on loading settings from the DB.
var builder = new ConfigurationBuilder();
builder.AddDbConfiguration(
() => new SqlConnection("my-connection-string"),
onLoadError: context =>
{
Console.WriteLine(context.Exception.ToString());
// NOTE: The following is not required really
// as RethrowException defaults to false.
// It is set here only to show that this is an option.
context.RethrowException = false;
});
onLoadError Context
The onLoadError delegate is passed a context that has the following members available:
Exception
This readonly property provides the exception that was thrown so that an error handler can act appropriately based on what was thrown.
RethrowException
This property defaults to false but can be set to true in order to throw an exception
of type DbConfigurationProviderLoadException so that a consuming application can react to
the problem and inspect the InnerException and act accordingly.
NOTE: The
InnerExceptionis the instance of the originally thrown exception.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.Extensions.Configuration (>= 3.1.0)
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 |
|---|---|---|
| 1.0.10 | 184 | 1/20/2025 |