ошибка edmx 'Невозможно привести объект типа' MySql.Data.MySqlClient.MySqlProviderServices '' System.Data.Common.DBProviderServices ' - PullRequest
0 голосов
/ 31 октября 2018

Получение ошибки edmx Невозможно привести объект типа «MySql.Data.MySqlClient.MySqlProviderServices» к типу «System.Data.Common.DBProviderServices» при попытке открыть конструктор edmx для модели MySQL. У меня есть и Entity Framework 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>

Ответы [ 2 ]

0 голосов
/ 09 февраля 2019

Я нашел лучшее решение для этого.

  1. Я изменяю целевой .NET Framework на 4.5.2 (в свойствах проекта)

  2. Изменить библиотеку MySQL.Data на v6.10.8 (NuGet)

0 голосов
/ 20 декабря 2018

У меня есть решение, проблема заключалась в несовместимости версии .net-разъема и версии dll.

В моем случае в проекте использовалась версия MySql.Data dll 6.9, но версия коннектора была 8.0. Поэтому я заменил .net разъем на правильный (та же версия).

...