实体框架DbContext使用自定义连接字符串进行动态实例化

时间:2013-05-02 14:50:43

标签: c# entity-framework dbcontext

从ObjectContext迁移到DbContext代码生成,我意识到生成的上下文类(继承自DbContext)没有接收 connectionString 的构造函数 EntityConnection (如ObjectContext子代)上课了。

这是我的应用程序中的一个问题,因为我需要使用运行时生成的连接字符串从具体的Type中动态实例化我的上下文。

2 个答案:

答案 0 :(得分:1)

在继承DbContext的类上,您应该能够指定用于连接sting的基础构造函数:

public class MyDbContext : DbContext
{
    public MyDbContext(string connString)
        : base(connString)
    {
    }
}

您必须使用SQLConnection构建器:

SqlConnectionStringBuilder connBuilder= new SqlConnectionStringBuilder(dbConnString);

在构造函数中使用它:

MyDbContext dbContext = new MyDbContext(connBuilder.ToString());

答案 1 :(得分:0)

这对我有所帮助:

 public MyDatabaseContext():base("name=MyConnectionString")
  {
  }