public partial class ProcessContext : DbContext
{
static ProcessContext()
{
Database.SetInitializer<ProcessContext>(null);
}
public ProcessContext()
: base("Name=ProcessCS") //Comes from Config File
{
}
--DBSets
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
--Code
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个Multi Tenent DB,我们有3个不同的DB.集中式数据库位于公共位置,不会更改.这是存储其余数据库详细信息的位置.我需要创建连接字符串@ runtime,其中详细信息将来自此集中式数据库.有人可以让我知道如何去做吗?
我尝试使用以下代码,但它无法正常工作.此方法将在此处调用
public ProcessContext()
: base(nameOrConnectionString: ConnectionString())
{
}
private static string ConnectionString()
{
SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder();
sqlBuilder.DataSource = "XXX";
sqlBuilder.InitialCatalog = "YYY";
sqlBuilder.PersistSecurityInfo = true;
sqlBuilder.IntegratedSecurity = true;
sqlBuilder.MultipleActiveResultSets = true;
EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
entityBuilder.ProviderConnectionString = sqlBuilder.ToString();
entityBuilder.Metadata = "res://*/"; …Run Code Online (Sandbox Code Playgroud)