CustomExtensions.DatabaseConfiguration
1.0.0
dotnet add package CustomExtensions.DatabaseConfiguration --version 1.0.0
NuGet\Install-Package CustomExtensions.DatabaseConfiguration -Version 1.0.0
<PackageReference Include="CustomExtensions.DatabaseConfiguration" Version="1.0.0" />
<PackageVersion Include="CustomExtensions.DatabaseConfiguration" Version="1.0.0" />
<PackageReference Include="CustomExtensions.DatabaseConfiguration" />
paket add CustomExtensions.DatabaseConfiguration --version 1.0.0
#r "nuget: CustomExtensions.DatabaseConfiguration, 1.0.0"
#:package CustomExtensions.DatabaseConfiguration@1.0.0
#addin nuget:?package=CustomExtensions.DatabaseConfiguration&version=1.0.0
#tool nuget:?package=CustomExtensions.DatabaseConfiguration&version=1.0.0
Description
If you wanted to add database table as configuration source like appsetting.json using IOptions interface, you need that package.
How to Use the Package
Follow these steps to effectively use the package:
Create an entity (AppConfigurationEntity) that contains application configuration keys and values. Make sure it inherit the AppConfiguration Entity. Then, add it to your context as a DbSet.
Add your seeds with the corresponding keys and values.
Create a class (AppConfigurationKeys) that contains the keys you added in the database.
Add a new migration to include the AppConfigurationKeys class in the database.
Register the package in the program file. Example:
builder.Services.AddDatabaseOptions<AppConfigurationKeys, AppConfigurationEntity, ApplicationContext>(connectionString);Inject
IOptions<AppConfigurationKeys>andIOptionsSnapshot<AppConfigurationKeys>into your service and use them as needed.
Feel free to reach out if you have any further questions or concerns.
AppConfiguration table will be like that:
| key | value |
|---|---|
| ConfigurationKey1 | 3 |
| ConfigurationKey2 | true |
| ConfigurationKey3 | test |
Note:
All keys and values will saved in database as strings . If you made your keys with other types you need to cast it where you are using in your service
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. 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. |
-
net6.0
- Microsoft.EntityFrameworkCore (>= 6.0.0)
- Microsoft.EntityFrameworkCore.SqlServer (>= 6.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.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.0 | 178 | 5/14/2024 |