C# 使用appsettings.json配置DbContext映射

C# 使用appsettings.json配置DbContext映射,c#,entity-framework,asp.net-core,entity-framework-core,C#,Entity Framework,Asp.net Core,Entity Framework Core,我正在使用.netCore和Entity Framework从SQL数据库获取一些数据。 我已经设置了一个DbContext public partial class DashboardContext : DbContext { public NotfallDashboardContext(DbContextOptions<NotfallDashboardContext> options) : base(options) {} protected override

我正在使用.netCore和Entity Framework从SQL数据库获取一些数据。
我已经设置了一个
DbContext

public partial class DashboardContext : DbContext
{
    public NotfallDashboardContext(DbContextOptions<NotfallDashboardContext> options) : base(options) {}

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<DashboardData>(entity =>
        {
            ...
        }
    }

    public virtual DbSet<DashboardData> DashboardData { get; set; }
}

我想做的是将这两个字符串“TableName”和“dbo”提取到我的appsettings.json配置中。我已经将配置添加到appsettings中,创建了TableConfiguration类并设置了依赖项注入:

TableConfiguration.cs

public class TableConfiguration
{
    public string DatabaseView { get; set; }
    public string DatabaseSchema { get; set; }
}
appsettings.json

"TableConfiguration": {
    "DatabaseTable": "TableName",
    "DatabaseSchema": "dbo"
} 
startup.cs

services.Configure<TableConfiguration>(Configuration.GetSection("TableConfiguration"));
services.Configure(Configuration.GetSection(“TableConfiguration”);
是否可以在DasboardData属性中插入或以其他方式使用配置


Startup.cs
中:

services.Configure<TableConfiguration>(Configuration.GetSection("TableConfiguration"));

什么版本的EntityFramework?我使用的是EF Core 1.0.1,可能与我所寻找的完全相同!非常感谢。
services.Configure<TableConfiguration>(Configuration.GetSection("TableConfiguration"));
services.Configure<TableConfiguration>(Configuration.GetSection("TableConfiguration"));
public class DashboardContext : DbContext
{
    private readonly TableConfiguration tableConf;

    public DashboardContext(DbContextOptions<DashboardContext> options, IOptions<TableConfiguration> tableConf) : base(options)
    {
        this.tableConf = tableConf.Value;
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<DashboardData>(entity =>
        {
            entity.ToTable(this.tableConf.DatabaseTable, this.tableConf.DatabaseSchema);
        });
    }

    public virtual DbSet<DashboardData> DashboardData { get; set; }
}