为什么不更新上下文连接字符串

时间:2012-10-08 14:24:18

标签: mysql entity-framework

我正在尝试使用CodeFirst将我的应用程序连接到MySql但是我收到的错误让我对Context ConnectionString感到疯狂。

  • 实体框架4.3.1
  • MySql Connector 6.6.3

的Web.config:

   <connectionStrings>
     <add name="PersonalContext" connectionString="server=localhost;UserId=root;password=1234;database=school;" providerName="MySql.Data.MySqlClient" />
   </connectionStrings>


  <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL"  type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.6.3.0, Culture=neutral, PublicKeyToken=852c9eb6525c1b53" />
    </DbProviderFactories>
  </system.data>

控制器:

  

var ctx = new SchoolContext();
   ctx.Database.Initialize(真);

我想知道为什么ctx.Connection.Connectionstring仍然使用SQLEXPRESS

  

“数据源=。\ SQLEXPRESS;初始   目录= MysqlTesting.Controllers.SchoolContext;集成   安全= TRUE; MultipleActiveResultSets = TRUE;应用   名称= EntityFrameworkMUE“

我是entityFramework的新手,我想知道我在web.config上做错了什么。

1 个答案:

答案 0 :(得分:1)

连接字符串的名称需要与上下文类的名称匹配,或者您需要告诉上下文类要使用哪个连接字符串:

class SchoolContext
{
    public SchoolContext()
        : base("Name=PersonalContext")
    {
    }

    // DbSet properties here
}