我正在使用.netCore和实体框架从SQL数据库中获取一些数据。
我已经建立了DbContext
使用appsettings.json来配置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; }
}
,并将其与以下设置
services.AddDbContext<DashboardContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DashboardDatabase")));
注入到我的控制器现在DashboardData
类使用Table
Attirbute连接到正确的表和模式。
[Table("TableName", Schema = "dbo")]
public partial class DashboardData
{
...
}
我想什么做的,就是这两个字符串“表名”和“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"));
是否可以注入或以其他方式使用DasboardData属性中的配置?
什么的EntityFramework的版本? – haim770
我正在使用EF核心1.0.1 –
[动态更改实体框架核心中的模式]的可能重复(http://stackoverflow.com/questions/39499470/dynamically-changing-schema-in-entity-framework-core) – Venky