有人最近在新项目中尝试过将实体框架6.1.1与MySQL一起使用吗?我在这里的问题是,每次尝试添加实体数据模型时,都会收到此错误消息:
“您的项目引用了最新版本的Entity Framework;但是,找不到与该版本兼容的Entity Framework数据库提供程序来进行数据连接。在执行此操作之前,请退出此向导,安装兼容的提供程序并重建您的项目”
我使用的是MySQL服务器5.6.21,而且我已经安装了mysql-connector-net-6.9.4和mysql-for-visualstudio-1.2.3。除了这些,我还安装了由Oracle开发的所有MySQL NuGet软件包。但是,即使我重新构建了应用程序,一切仍然失败。
开发环境Win 8.1 Pro VS-2013 Pro .Net Framework 4.5.1 EF 6.1.1.0 MySQL在本地主机上。
有这个答案在这里这曾经为我工作。但是,按照这些说明进行操作之后,对话框将完全消失。无论哪种方式,我都无法从数据库更新模型,实际上是从头开始的。我什至无法创建它。
我感到奇怪的是,在一个现有的老项目中,我成功地设法开始使用EF6。我删除了.edmx并尝试再次添加它,但随后它告诉我相同的错误消息。
App.config代码:
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<entityFramework>
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
</entityFramework>
<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>
</configuration>
是对破坏系统的软件包的升级吗?还是我想念的其他东西...最近设法做到这一点的任何人,我想知道您是如何做到的。有什么办法吗?
看来问题出在新的6.9.4连接器上。我不知道为什么,但是当我降级到MySQL .net连接器6.8.3时,一切都开始按预期运行。说实话,这使我感到困惑。我非常怀疑甲骨文是否会在该领域发布未经测试的东西,所以我想知道他们到底是如何设置的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句