Проблемы развертывания Entity Framework
Entity Framework является новым для меня, я следую приведенному ниже примеру, чтобы создать сервис wcf с Entity Framework.
Введение в Entity Framwork для начинающих
Это довольно просто, все это было похоже на автоматическое создание, моя база данных была расположена в моей папке app_data. Поэтому после запуска в Visual Studio я хочу опубликовать и развернуть на сервере IIS.
Но когда я пытаюсь запустить его на сервере, он возвращает мне эту ошибку
The underlying provider failed on Open.
at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)
at System.Data.EntityClient.EntityConnection.Open()
at System.Data.Objects.ObjectContext.EnsureConnection()
at System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
at System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
вот моя строка подключения в web.config
<connectionStrings>
<add name="BPMCommonEntities" connectionString="metadata=res://*/BPMCommonDB.csdl|res://*/BPMCommonDB.ssdl|res://*/BPMCommonDB.msl;provider=System.Data.SqlClient;provider connection string="data source=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\BPMCommon.mdf;integrated security=True;user instance=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
Я ничего не изменяю в этом, и не знаю, что изменить также.
Что мне не хватает? откуда эта ошибка, что я должен изменить, чтобы исправить это?
1 ответ
Когда вы работаете на своем локальном компьютере, у вас есть SQLExpress для размещения вашей базы данных, а когда вы развертываете ее на сервере, вам нужен сервер базы данных для размещения вашей базы данных, и именно здесь вы заменяете.\SQLExpress на имя вашего сервера.