有没有人尝试过最近在新项目中使用实体框架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包之外。但即使在我重建应用程序之后,一切仍然失败。
开发环境 赢得8.1 Pro VS-2013 Pro .Net Framework 4.5.1 EF 6.1.1.0 MySQL在localhost上。
这个答案here曾经适合我。然而,在遵循这些指令后,对话框完全消失。无论哪种方式,我都无法从数据库更新模型,实际上是刮擦了。我甚至无法创建它。
我觉得奇怪的是,在一个旧的现有项目中,我成功地设法使用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>
是否破坏了系统的软件包升级?或者是我想念的其他东西......最近设法做到这一点的任何人,我想知道你是怎么做到的。任何解决方案?
答案 0 :(得分:0)
似乎问题在于新的6.9.4连接器。我不知道为什么,但当我降级到MySQL .net连接器6.8.3时,一切都开始像它应该的那样工作。说实话,这令我感到困惑。我非常怀疑oracle是否会将未经测试的内容发布到该领域,所以我们想知道它们是如何设置它的。