Skip to content

cashwu/Cashwu.AspNetCore.Configuration.PostgreSQL

Repository files navigation

Asp.Net Core configuration from PostgreSQL

actions

codecov


Nuget


這個專案是參考 EfConfiguration 這個專案修改而成


Database 初始化

先在 Database 裡面執行 init.sql

註冊

ProgramCreateHostBuilder 註冊新的 Configuration,記得寫在 ConfigureWebHostDefaults 之前。可以傳入,下面兩個參數

  • ConnectionStringName:在 appsettings 裡面的 Database connection string 名稱,預設為 DefaultConnection
  • PollingInterval:多久檢查一次 Database 看有沒有異動的資料,預設為 1000 ms
public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureAppConfiguration((context, builder) =>
        {
            builder.AddPostgreSqlEntityFrameworkValues(options =>
            {
                options.ConnectionStringName = "DefaultConnection";
                options.PollingInterval = 5000;
            });
        })
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        });

DBContext

如果需要使用 Database 存取 Configuration 的資料,可以註冊 ConfigurationContext 來使用,Entity 為 ConfigurationValue

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<ConfigurationContext>(builder =>
    {
        builder.UseNpgsql(Configuration.GetConnectionString("DefaultConnection"));
    });
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published