获得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>
我已经得到了解决,问题是.NET连接器的版本和dll的版本之间的不兼容性。
在我的情况下,项目是使用MySql.Data dll的版本6.9,但该连接器的版本是8.0。所以我换成正确的(同一版本)的.NET连接器。
我发现这种情况的最佳解决方案。