C# 如何为db上下文动态设置自定义conn字符串?
我有以下通过VS中的向导自动生成的db上下文:C# 如何为db上下文动态设置自定义conn字符串?,c#,.net,C#,.net,我有以下通过VS中的向导自动生成的db上下文: MyEntities : DbContext 当我转到自动生成定义时,我会看到以下构造函数定义: public MyEntities() : base("name=SecurityApiEntities") { } 我需要能够动态设置连接字符串。我该怎么做呢?我看不到此url中描述的立即执行此操作的方法: 如果出于某种原因,无法在配置文件中保留连接字符串,则可以执行以下操作: var entityBuilder = new EntityConn
MyEntities : DbContext
当我转到自动生成定义时,我会看到以下构造函数定义:
public MyEntities() : base("name=SecurityApiEntities")
{
}
我需要能够动态设置连接字符串。我该怎么做呢?我看不到此url中描述的立即执行此操作的方法:
如果出于某种原因,无法在配置文件中保留连接字符串,则可以执行以下操作:
var entityBuilder = new EntityConnectionStringBuilder();
// use your ADO.NET connection string
entityBuilder.ProviderConnectionString = conString;
// Set the Metadata location.
entityBuilder.Metadata = @"res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl";
var dbContext = new DbContext(entityBuilder.ConnectionString);
为了避免每次需要DbContext时都必须这样做,可以创建一个工厂类和方法,该类和方法将根据传入的连接字符串返回DbContext。或者创建一个分部类,用create函数扩展DbContext。传递给基构造函数的值可以是连接字符串。