Невозможно создать модель данных объекта - используя MySql и EF6

Если ваше приложение полагается на поиск числовой обработки для произвольной арифметической библиотеки точности, однако я не знаю, существуют ли библиотеки Python такого типа. Конечно, все зависит от того, сколько цифр точности вы хотите - вы можете добиться хороших результатов со стандартной плавающей точкой IEEE, если будете использовать ее с осторожностью.

23
задан Idan Shechter 30 January 2015 в 17:40
поделиться

11 ответов

Я решил эту проблему, выполнив несколько следующих шагов:

  1. Удалите MySql.Data.Entities из Nuget с помощью приведенной ниже команды в консоли диспетчера пакетов: Uninstall-Package MySql.Data.Entities

  2. Добавьте ссылку на проект к последней версии MySql.Data.Entity.EF6.dll из пути установки вашего коннектора MySql по адресу: C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.8\Assemblies\v4.5

13
ответ дан Richard Erickson 30 January 2015 в 17:40
поделиться

У меня была такая же ситуация, когда я пытался настроить среду Visual Studio Professional 2017 с MySQL, ADO.NET (Database First) и EF6.

Примечание. Пожалуйста, следуйте инструкциям в том же порядке.

  1. Удалите / удалите «Connector / NET» и «MySQL для Visual Studio», если установлены.

  2. Установите «MySQL для Visual Studio» v2.0.5 CTP ( MySQL для Visual Studio ). Примечание. Установите MySQL для Visual Studio перед соединителем / NET.

  3. Установите «Connector / NET» v6.9.10 ( Connector / Net ). https://i.stack.imgur.com/XOT1I.jpg Примечание. Сначала я попытался использовать Connector / NET v6.8, v6.10 и v8, но ни один из них не работал с Visual Studio 2017 и ADO.Net. Здесь вы можете найти все версии и совместимости Connector с IDE Visual Studio , но пока этот список неточен.

  4. Создать новый проект Visual Studio Professional 2017.

  5. Загрузите и установите «EntityFramework» v6.2.0 через NuGet, перейдя на вкладку «Проект» / «Управление пакетами NuGet» / «Обзор» -> Entity Framework.

  6. Добавить ссылки на C:\Program Files (x86)\MySQL\Connector.NET 6.9.10\Assemblies\v4.5\MySql.Data.dll и C:\Program Files (x86)\MySQL\Connector.NET 6.9.10\Assemblies\v4.5\MySql.Data.Entity.EF6.dll; щелкнув правой кнопкой мыши по ссылкам в обозревателе решений и выбрав Добавить ссылку / Обзор -> кнопку Обзор.

  7. Добавить информацию о поставщике MySQL EF6 в App.config в соответствии с поставщиками инфраструктуры объектов следующим образом:

<entityFramework>
       <providers>
         <provider invariantName="MySql.Data.MySqlClient"
              type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
       </providers>
</entityFramework>
  1. Перестройте проект, перейдя на вкладку «Сборка» / «Перестроить имя проекта».

И это все. VS2017 готов к работе. Надеюсь, что это работает для всех, как и для меня сегодня.

Ссылки :

  1. Невозможно создать модель данных объекта - с использованием MySql и EF6

  2. Не найден поставщик Entity Framework для поставщика ADO.NET «MySql.Data.MySqlClient»

67
ответ дан Alfredo Rodriguez 30 January 2015 в 17:40
поделиться

VS 2015 все еще имеет эту ошибку. Это вызвано несоответствием версий.

В моей системе у меня был MySQL Connector 6.9.6.
Выполнение команды в консоли диспетчера пакетов NuGet:

Install-Package MySql.Data.Entity

устанавливает версию 6.9.8 по умолчанию. Ваш соединитель должен соответствовать актуальной версии пакета NuGet.
Вы можете скачать обновленную версию коннектора с: https://www.mysql.com/products/connector/

Здесь выберите «Драйвер Ado.net для MySQL» и скачайте соответствующую версию (в данном случае 6.9.8). Повторно откройте Visual Studio, и теперь мастер не падает. Перезагрузка не требуется.

12
ответ дан Lars Meldgård 30 January 2015 в 17:40
поделиться

Я смог решить эту проблему, выполнив следующее:

  1. Откройте MySQL Installer и установите последнюю версию Connector / NET
  2. Удалите / переустановите последнюю версию MySQL. Пакеты Data. * С версиями, которые соответствуют версии недавно установленного пакета Connector / NET
  3. Перезапустите Visual Studios
  4. Перестройте решение
4
ответ дан user942620 30 January 2015 в 17:40
поделиться

Принимая предложения о версиях NuGet из ответов других. Я решил эту проблему, удалив .Data и Data.Entitiy.EF6, установленные Nuget.

Затем щелкните правой кнопкой мыши на References и найдите:

C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.dll и C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.Entity.EF6.dll

Затем я смог завершить работу мастера ADO.Net с моделями .edmx.

4
ответ дан Daniel Orlan 30 January 2015 в 17:40
поделиться

Я знаю решение.

Nuget устанавливает граничную версию пакетов MySql.Data. *, В то время как у вас, вероятно, установлена ​​предыдущая версия соединителя (в моем случае пакеты были v. 6.9.6 и Connector 6.9.5). Это приводит к тому, что у вас есть несовпадение версий.

Имейте в виду, что если вы используете Install-Package MySql.Data.Entities в NuGet, вы получите еще более старую версию, например 6.8.3, поэтому вы должны добавить ссылки по и следите за тем, какой из них вы пытаетесь добавить к своему решению.

3
ответ дан Lucassith 30 January 2015 в 17:40
поделиться

Это для приложения ASP.NET MVC, у которого нет файла app.config. Я не буду рассказывать о неудачных попытках, но у меня сработало следующее: -

  • Если VS не не запущен, загрузите и установите «MySQL для Visual Studio 2.0.5» - последняя версия на момент написания.
  • Запустите VS2017 и удалите пакеты NuGet «MySql.Data.Entity» и «MySql.Data», если они были ранее установлены в VS2017.
  • Загрузите и установите последнюю версию коннектора MySql / NET, используя ссылки выше (версия 8.0.13 на момент написания статьи).
  • В вашем проекте добавьте ссылки на библиотеки «MySql.Data.dll» и «MySql.Data.EntityFramework.dll», как описано выше Lopez93, , но N.B. упомянутый «MySql.Data.Entity.EF6.dll» не существовал в 8.0.13, только «MySql.Data.EntityFramework.dll».
  • Теперь отредактируйте файл web.config и убедитесь, что в разделе есть эта строка

< provider invariantName = "MySql.Data.MySqlClient" type = "MySql.Data. MySqlClient.MySqlProviderServices, MySql.Data. EntityFramework ">

  • Удалить или закомментировать любой другой поставщик & lv; invariantName =" MySql.Data.MySqlClient ". .. 'линии.

  • Перестройте проект.

Попробуйте снова воспользоваться мастером.

Для меня это сработало.

Удачи!

3
ответ дан jetbadger 30 January 2015 в 17:40
поделиться

У меня была та же проблема с использованием MySQL Connector 6.9.8.0. Хотя все мои версии совпадали, это все равно не удалось. Я установил новую версию Visual Studio ПОСЛЕ коннектора MySQL (с 2010 по 2013 год). Для меня решение было удалить MySQL Connector для NET и затем переустановить его (Точно такая же версия). Затем перезапустите Visual Studio.

Похоже, это еще одна версия той же проблемы.

2
ответ дан Andy 30 January 2015 в 17:40
поделиться

Вы можете сделать это решение:

  1. Добавить новую пустую модель EF.
  2. В правой части окна emdx щелкните и обновите модель из базы данных.
  3. выберите вашу базу данных и модель будет сгенерирована.

Это работа для меня:)

1
ответ дан Simon PA 30 January 2015 в 17:40
поделиться

Еще одна вещь, которую нужно попробовать:

---> установить entityframework 6.2.0 через nuget.

---> Проверьте в своем файле web.config / app.config, что у вас есть поставщик System.Data.SqlServerCe.4.0. если он не установлен, то установите его через nuget, ту же версию, что и ранее установленная платформа управления данными (в данном случае 6.2.0).

---> затем добавьте ссылки: (в данном случае из коннектора / NET версии 6.9.10) C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.dll и C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.Entity.EF6.dll и восстановите.

---> попробуйте добавить и этого провайдера: <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> перестройте, снова.

---> и, наконец, попробуйте добавить файл .edmx с новым подключением.

Это работало в моем случае, когда я установил VS2017 и MySQL на новый ноутбук, и у меня возникла та же проблема.

0
ответ дан Lopez93 30 January 2015 в 17:40
поделиться

Я изменил свой файл web.config с:

< provider invariantName = & quot; MySql.Data.MySqlClient & quot; type = & quot; MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, версия = 8.0.11.0, культура = нейтральная, PublicKeyToken = c5687fc88969c44d & quot; / >

Кому:

< provider invariantName = "MySql.Data.MySqlClient" type = & quot; MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6 & quot; < / provider >

0
ответ дан Geovanny López 30 January 2015 в 17:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: