【发布时间】:2014-03-17 07:27:02
【问题描述】:
我有两个实体框架上下文,一个用于 MySql,一个用于 sql。如果我运行该应用程序,我会收到以下错误
The default DbConfiguration instance was used by the Entity Framework before the 'MySqlEFConfiguration' type was discovered.
但是,如果我确实通过给它Database.SetInitializer<MySqlContext> 来发现应用程序上的数据库类型,我的正常 sql 上下文现在正在尝试使用 mysql 提供程序进行连接。
MySql 上下文
[DbConfigurationType(typeof(MySqlEFConfiguration))]
public class ZipCodeContext : DbContext
{
public DbSet<ZipCode> ZipCodes { get; set; }
}
我的正常上下文
public class MyContext : DbContext
{
public DbSet<MyClass> MyClasses{get;set;}
}
最后是我的实体框架部分的网络配置
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
我希望这已经足够清楚了,我正在用头撞桌子
【问题讨论】:
-
你有没有设法解决这个问题?
-
否定@James,从未设法弄清楚。我最终只使用了普通的 MySql 连接并从那里执行查询。
-
感谢您的跟进,如果我能做到这一点,我会通知您
标签: c# mysql sql-server entity-framework