Ключевое слово не поддерживается: "источник данных", инициализирующий контекст платформы Entity Framework
Я инициализирую контекст объекта Entity Framework, и это дает мне недопустимую ошибку ключевого слова:
metadata=res://*/MainDB.csdl|res://*/MainDB.ssdl|res://*/MainDB.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Workspace\vs\Leftouch\Leftouch.Web\Data\Leftouch.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;App=EntityFramework"
Я взял строку подключения непосредственно из web.config, которая работала, и изменила только путь к файлу (который я установил динамически), и вместо использования значения по умолчанию я использовал эту строку соединения явно. Что может вызвать эту ошибку?
Ответы
Ответ 1
Настоящая причина, по которой вы получали эту ошибку, из-за значений "
в вашей строке подключения.
Если вы замените одиночные кавычки, тогда он будет работать нормально.
http://blogs.msdn.com/b/rickandy/archive/2008/12/09/explicit-connection-string-for-ef.aspx
(Добавлено так, что другие могут получить исправление быстрее, чем я.)
Ответ 2
Я исправил это, изменив EntityClient
на SqlClient
, хотя я использовал Entity Framework.
Итак, моя полная строка подключения была в формате:
<add name="DefaultConnection" connectionString="Data Source=localhost;Initial Catalog=xxx;Persist Security Info=True;User ID=xxx;Password=xxx" providerName="System.Data.SqlClient" />
Ответ 3
Кажется, что отсутствует бит providerName="System.Data.EntityClient"
. Уверена, что у вас есть все это?
Ответ 4
Верьте или нет, переименование LinqPad.exe.config в LinqPad.config решило эту проблему.
Ответ 5
Просто используйте\"вместо ", это должно решить проблему.