Code First Entity Framework - изменить строку подключения
Как изменить строку подключения в первом приложении фреймворка/приложения MVC? Я пытаюсь перенести его на живой сайт, но он пропускает значения веб-конфигурации и по-прежнему ссылается на мою локальную версию базы данных.
Вот строка строки подключения моего web.config:
<add name="MembershipConnectionString" connectionString="Data Source=192.168.1.43;Initial Catalog=Website.Models.IntranetApplication;User Id=[UserName];Password=[Password];timeout=30" />
<add name="WebsiteConnectionString" connectionString="Data Source=192.168.1.43;Initial Catalog=Website.Models.IntranetApplication;User Id=[UserName];Password=[Password];timeout=30" />
<add name="Entities" connectionString="metadata=res://*/Models.IntranetModel.csdl|res://*/Models.IntranetModel.ssdl|res://*/Models.IntranetModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=192.168.1.43;Initial Catalog=Website.Models.IntranetApplication;User Id=[UserName];Password=[Password];MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
Я не уверен, что строка Entities имеет какую-либо значимость, поскольку я использовал фреймворк сущности Code First, и я думаю, что это появилось только при попытке создать файл edmx (хотя я просто удалил его). Строка подключения сущностей прокомментирована, поэтому я не думаю, что она использовалась.
Я хочу, чтобы сущность-структура читала "WebsiteConnectionString", но, похоже, хочет использовать локальную строку соединения, но я даже не вижу, где она установлена. Как изменить его?
Ответы
Ответ 1
Строка подключения или ее имя могут быть переданы конструктору DbContext
. Если вы используете конструктор по умолчанию, он ищет строку соединения с тем же именем, что и имя вашего производного контекстного класса, и если он не находит его, он использует следующий:
Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True
С именем базы данных, аналогичным вашему классу контекста.