Справка по строке подключения ASP.NET System.Data.EntityClient - PullRequest
6 голосов
/ 28 марта 2009

Я использую ASP.NET MVC на общем сервере, и у меня возникают проблемы с подключением к SQL через System.Data.EntityClient. Ниже приведена строка подключения, которую мой провайдер хостинга дал мне для подключения к SQL, и строка, которую VS настроил для моего локального компьютера во время разработки, как должна выглядеть строка подключения при развертывании на сервере?

От моего хостинг-провайдера:

<add name="WeddingsDBEntities" 
  connectionString="data Source=<server name>; Initial Catalog=<db name>; User ID=<user ID>; Password=<password>;" 
  providerName="System.Data.EntityClient"/>

От VS (в процессе разработки):

connectionString="metadata=res://*/Models.WeddingsModel.csdl|res://*/Models.WeddingsModel.ssdl|res://*/Models.WeddingsModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\WeddingsDB.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient"

Спасибо!

Ответы [ 2 ]

8 голосов
/ 28 марта 2009

Вы должны заключить строку подключения в строку подключения объекта, которая имеет формат

<add name="Name"
  connectionString="metadata=<Conceptual Model>|<Store Model>|<Mapping Model>;
  provider=<Underlying Connection Provider>;
  provider connection string=&quot;<Underlying ConnectionString>&quot;" 
  providerName="System.Data.EntityClient"/>

Вместо:

<add name="WeddingsDBEntities" 
  connectionString="data Source=<server name>; Initial Catalog=<db name>; User ID=<user ID>; Password=<password>;" 
  providerName="System.Data.EntityClient"/>

Используйте это:

<add name="WeddingsDBEntities"
  connectionString="metadata=res://*/Models.WeddingsModel.csdl|res://*/Models.WeddingsModel.ssdl|res://*/Models.WeddingsModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data Source=<server name>; Initial Catalog=<db name>; User ID=<user ID>; Password=<password>;MultipleActiveResultSets=True&quot;" 
  providerName="System.Data.EntityClient"/>
1 голос
/ 25 марта 2016

Измените провайдера с entityclient на sqlclient (предположим, код сначала EF).

providerName = "System.Data.EntityClient" />

до

providerName = "System.Data.SqlClient" />

...