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" />
paket add LSL.DbConfigurationProvider --version 1.0.10
#r "nuget: LSL.DbConfigurationProvider, 1.0.10"
// Install LSL.DbConfigurationProvider as a Cake Addin #addin nuget:?package=LSL.DbConfigurationProvider&version=1.0.10 // Install LSL.DbConfigurationProvider as a Cake Tool #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
InnerException
is 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. |
.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 | 41 | 1/20/2025 |