Ключевое слово не поддерживается: "источник данных", инициализирующий контекст платформы 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

Просто используйте\"вместо ", это должно решить проблему.