EDMX错误“无法转换类型的对象‘MySql.Data.MySqlClient.MySqlProviderServices’‘System.Data.Common.DBProviderServices’

问题描述 投票:1回答:2

获得EDMX错误无法投类型的对象试图打开EDMX设计师MySQL的模型时,“MySql.Data.MySqlClient.MySqlProviderServices为键入“System.Data.Common.DBProviderServices”。我有两个实体框架6在项目SQL服务以及引用到MySQL。

以下是我在的app.config

<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>
<system.data>
<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=8.0.13.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
mysql edmx
2个回答
0
投票

我已经得到了解决,问题是.NET连接器的版本和dll的版本之间的不兼容性。

在我的情况下,项目是使用MySql.Data dll的版本6.9,但该连接器的版本是8.0。所以我换成正确的(同一版本)的.NET连接器。


0
投票

我发现这种情况的最佳解决方案。

  1. 我改变目标的.NET Framework 4.5.2到(在项目属性)
  2. MySQL.Data库更改为v6.10.8(的NuGet)
© www.soinside.com 2019 - 2024. All rights reserved.