У меня есть приложение asp.net-mvc с базой данных членства по умолчанию. Я получаю к нему доступ через ADO.NET Entity Framework.
Теперь я хочу переместить его в IIS, но обнаружилось несколько проблем. Мне пришлось установить SQL Server Management Studio, создать новую БД, импортировать туда все данные из предыдущего файла .MDF. Единственное, что осталось сделать (насколько я знаю), - это изменить строку подключения. Однако я не очень разбираюсь в этом и постоянно получаю неподдерживаемое ключевое слово: "источник данных". исключение. Вот моя строка подключения:
У меня была эта ошибка, когда у меня был выбран неправильный запускаемый проект, поэтому VS не смог найти мои строки подключения. Убедитесь, что выбран запускаемый проект с app.config. wnbates 03.07.2020
Вам не хватает всех элементов metadata= и providerName= в строке подключения EF ... в основном у вас есть только то, что содержится в части provider connection string.
Использование конструктора EDMX должно создать для вас допустимую строку подключения EF в файле web.config или app.config.
Марк
ОБНОВЛЕНИЕ: Хорошо, я понимаю, что вы пытаетесь сделать: вам нужна вторая строка подключения "ADO.NET" только для базы данных пользователей / членства ASP.NET. Ваша строка в порядке, но имя providerName неверно - это должно быть "System.Data.SqlClient" - это соединение не использует ENtity Framework - тогда не указывайте для него "EntityClient"!
У меня была эта проблема, когда я начал использовать Entity Framework, это произошло, когда я не изменил старое соединение SQL-сервера на соединение EntityFrameWork.
Решение: в файле, в котором соединение выполняется через файл web.config "add name =" Entities "connectionString = XYZ", убедитесь, что вы имеете в виду правильное соединение, в моем случае мне пришлось сделать это
public static string MyEntityFrameworkConnection
{
get
{
return ConfigurationManager.ConnectionStrings["Entities"].ConnectionString;
}
}
вызывайте MyEntityFrameworkConnection всякий раз, когда необходимо установить соединение.
Примечание: соединение в файле web.config будет сгенерировано автоматически при добавлении модели Entity в решение.
Ответ 6 · Spyder
Я знаю, что это старый пост, но недавно у меня была такая же ошибка, поэтому, чего бы это ни стоило, вот еще одно решение:
Обычно это ошибка строки подключения. Проверьте формат строки подключения. Вы можете найти строку подключения entity framework или следовать приведенным выше предложениям.
Однако в моем случае моя строка подключения была в порядке, и ошибка была вызвана чем-то совершенно другим, поэтому я надеюсь, что это кому-то поможет:
Сначала у меня была ошибка EDMX: в EDMX была новая таблица базы данных, и таблица не существовала в моей базе данных (забавно, что ошибка была не очень очевидной, потому что она не отображалась в мой EDMX или окно вывода, вместо этого он был спрятан в Visual Studio в окне "Список ошибок" под "Предупреждениями"). Я решил эту ошибку, добавив недостающую таблицу в свою базу данных. Но на самом деле я был занят, пытаясь добавить хранимую процедуру, но все еще получал ошибку источника данных, поэтому посмотрите ниже, как я ее разрешил:
Ошибка хранимой процедуры: я пытался добавить хранимую процедуру, и каждый раз, когда я добавлял ее через окно проектирования EDMX, я получал ошибку "источник данных". Решением было добавить хранимую процедуру как пустую (я сохранил имя и объявление хранимой процедуры, но удалил содержимое сохраненной процедуры и заменил его на "выберите 1" и повторил попытку добавления его в EDMX). Это сработало! Предположительно EF что-то не понравилось в моей хранимой процедуре. После того, как я добавил процедуру в EF, я смог обновить содержимое процедуры в моей базе данных до того, что я хотел, и он работает, ошибка "источника данных" устранена.