【发布时间】:2019-01-16 12:45:51
【问题描述】:
我有一个 UI 页面,其中包含一个带有多个值的下拉列表。
在 UI 页面中,用户将从下拉列表中选择一个架构,然后应将与该架构相关的数据加载到网格中。这意味着将来我们可能会获得更多的模式,每个模式都具有相同的 Oracle 数据库和表结构。
已经使用默认配置的 DB First 方法创建了实体上下文。但基于上述要求,我需要根据 Schema 更改连接到 Oracle DB。
虽然我在下面使用对我不起作用,但它始终指向在连接字符串中配置的架构,而不是我发送到实体上下文的架构。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
if (SchemaName != null)
{
modelBuilder.HasDefaultSchema(SchemaName);
}
base.OnModelCreating(modelBuilder);
throw new UnintentionalCodeFirstException();
}
有人可以建议最好的方法吗?
我尝试在模型创建时应用架构名称,如上面的代码这对我不起作用。
实际需要的是,已经使用默认配置的 DB First 方法创建了实体上下文。但基于上述要求,我需要根据 Schema 更改连接到 Oracle DB。
【问题讨论】:
标签: c# asp.net-web-api oracle11g entity-framework-6 ef-database-first