我正在尝试使用CodeFirst将我的应用程序连接到MySql但是我收到的错误让我对Context ConnectionString感到疯狂。
的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上做错了什么。
答案 0 :(得分:1)
连接字符串的名称需要与上下文类的名称匹配,或者您需要告诉上下文类要使用哪个连接字符串:
class SchoolContext
{
public SchoolContext()
: base("Name=PersonalContext")
{
}
// DbSet properties here
}