Поставщик не возвратил строку stringManifestToken - программирование
Подтвердить что ты не робот

Поставщик не возвратил строку stringManifestToken

Я пытаюсь создать веб-приложение с помощью ASP.Net MVC3, Entity Framework и MySQL.

Я добавил следующий код в свой файл Web.Config.

<connectionStrings>
    <add name="ContactContext" connectionString="server=localhost;database=contacts;uid=root;pwd=password;" providerName="MySql.Data.MySqlClient"/>

  </connectionStrings>

Я также создал модель "Человек", "ContactContext" в проекте "Contact_Me". Когда я пытаюсь создать "ContactController", включая контекст Person Model и Contact, он дает мне следующую ошибку:

"Невозможно получить метаданные для" Connect_Me.Models.Persons ". провайдер не вернул строку ProviderManifestToken"

Ошибка подключения к MySQL и MVC3\ProviderManifestToken, но я использую MySQL, это самый близкий вопрос к моему. Но ответ не решил мою проблему.

Заранее спасибо

4b9b3361

Ответ 1

Проблема связана с соединителем MySQL/Net.

Ранее я использовал соединитель MySQL/Net 6.3.5, и после того, как я его удалил и установил соединитель MySQL/Net 6.5.4, проблема была исправлена. Вы можете найти последние разъемы на http://www.mysql.com/products/connector/

Ответ 2

Я знаю, что это может быть очень просто для пары из вас, ребята, но это исключение также вызывается в тех случаях, когда EF не может найти строку соединения для использования. Если вы работаете в многоуровневом приложении, убедитесь, что соединение String добавлено в клиентское приложение, а не в библиотеку классов, которая содержит код доступа к данным. Только мои 2 цента.

Ответ 3

Я получил эту ошибку, когда мой сервер sql был фактически опущен. Поэтому убедитесь, что ваш сервер sql запущен и работает.

Ответ 4

Иногда эта проблема возникает из-за sslmode, а для меня решение заключалось в том, чтобы добавить sslmode = None в строку подключения

Мне пришлось внести небольшое изменение в строку подключения из

<add name="Connection" connectionString="Server=SOMEHOST;Database=DB;Uid=USR1;Pwd=PASS1;sslmode=None;" providerName="MySql.Data.MySqlClient" />

to

<add name="Connection" connectionString="Server=SOMEHOST;Database=DB;Uid=USR1;Pwd=PASS1;sslmode=None;" providerName="MySql.Data.MySqlClient" />

Ответ 5

Может быть, ошибка в вашей строке подключения. Вы пытались подключиться к вашему экземпляру DB, используя приведенный выше вход. Попробуйте изменить строку подключения

connectionString="Data Source=.;Initial Catalog=contacts;Integrated Security=True uid=root;pwd=password;" providerName="MySql.Data.MySqlClient"/>

используйте выше, если вы используете сервер sql, иначе, если вы используете экспресс-использование sql ниже одного

 connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=contacts;Integrated Security=True uid=root;pwd=password;" providerName="MySql.Data.MySqlClient"/>

Ответ 6

Несмотря на то, что на это дан ответ, но я столкнулся с одной и той же проблемой, и мой, если это было в строке соединения; У меня была часть "Интегрированная безопасность", когда я действительно не использовал ее; Я полагался на аутентификацию базы данных.

Я удалил часть "Integrated Security = True", и она отлично работала:)

Ответ 7

Перезагрузка компьютера работала для меня.

Пока это сообщение показывалось, я не обнаружил различий между моим компьютером [Windows 10] и тестовым сервером, на котором приложение было развернуто с той же конфигурацией, и там работало правильно и использовало ту же базу данных. Это означает, что проблема, вероятно, не была связана с базой данных, запущенной на тестовом сервере.

Стоит отметить, что некоторые обновления Windows ожидали перезапуска.