Ключевое слово не поддерживается:" источник данных " инициализация контекста 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:WorkspacevsLeftouchLeftouch.WebDataLeftouch.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;App=EntityFramework"

Я взял строку подключения непосредственно из интернета.config, который работал, и изменил только путь к файлу (который я установил динамически), и вместо использования значения по умолчанию использовал эту строку подключения явно. Что может вызвать эту ошибку?

4 ответов


реальная причина, по которой вы получили эту ошибку, заключается в " значения в строке подключения.

Если вы замените их одинарными кавычками, то он будет работать нормально.

http://blogs.msdn.com/b/rickandy/archive/2008/12/09/explicit-connection-string-for-ef.aspx

(опубликовано, чтобы другие могли получить исправление быстрее, чем я.)


я исправил это путем изменения 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" />

Кажется, что отсутствует providerName="System.Data.EntityClient" бит. Уверен, что все понял?


Верьте или нет, переименование LinqPad.исполняемый.настройка в LinqPad.конфиг решил эту проблему.