我正在尝试将EF 6与MySQL一起使用,并在连接向导中显示以下错误消息:
您的项目引用最新版本的Entity Framework;但是,找不到与此版本兼容的Entity Framework数据库提供程序用于您的数据连接。
在互联网上搜索,这似乎是一个困扰人们的问题,但我看不到有人有解决方案。
我引用了EntityFramework 6.1.1和MySql.Data 6.9.3,Mysql.Data.Entity.EF5和MySql.Data.Entity.EF6版本6.8.3。我也曾在MySql.Data 6.8.3中尝试过,但同样的事情也发生了。
我的web.config显示以下内容:
<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>
</entityFramework>我们将非常感谢您的任何想法或帮助--否则我将不得不抛弃MySql,转而使用Sql Server,这将在我的日程安排中留下一个很大的漏洞,甚至在我的钱包中留下更大的漏洞:-)。
我遇到了下面的帖子,但它似乎对我不起作用:
发布于 2014-10-14 17:21:17
在我看来,您同时拥有针对SQL Server和MySQL的提供程序,并且默认的连接工厂是针对SQL Server提供程序的。两个都需要吗?如果不是,则可以完全删除SQL Server部件,并确保默认连接为MySQL。
另外,我注意到您还没有发布配置文件的system.data部分。我的工作MySQL 6.9.3配置有这个部分。
我的配置如下所示:
<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.9.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
</providers>
</entityFramework>https://stackoverflow.com/questions/26343155
复制相似问题