获取连接字符串不是来自App.Config?

时间:2018-05-17 20:56:06

标签: c# entity-framework entity-framework-6

添加ADO.NET Entity Data Model的代码生成添加了以下类和App.config文件。

public partial class MyDbContext : DbContext
{
    public MyDbContext()
        : base("name=MyDbContext")
    {
    }

App.Config中

  <connectionStrings>
    <add name="MyDbContext" 
     connectionString="data source=...;initial catalog=...;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" 
     providerName="System.Data.SqlClient" />
  </connectionStrings>

但是,我已经在Properties.Settings.Default.MyDbConnString中保存了连接字符串。如何更改代码以使用属性中的代码?

1 个答案:

答案 0 :(得分:4)

请注意DbContext(String)构造函数

的构造函数参数名称
public DbContext(string nameOrConnectionString);
  

使用给定字符串构造一个新的上下文实例,作为要建立连接的数据库的名称或连接字符串

您可以在构造函数中使用完整连接字符串,以便更新上下文以使用存储在属性中的值。

public partial class MyDbContext : DbContext {
    public MyDbContext()
        : base(Properties.Settings.Default.MyDbConnString) {
    }
}

并删除配置文件中的on以避免任何冲突。