измените имя дб в строке подключения во времени выполнения в Платформе Объекта

+1 для ссылки на страницу Fowler.

Лично, я просто нашел "хорошим" знать каждый раз, когда что-то не скомпилировало, потому что у нас была плохая практика наличия единственной сборки (да, мы разработали на производственной сборке; мы были удивительными). Мы не получили фазу комплексного испытания, прежде чем я уехал.

Через некоторое время, это действительно, однако, уменьшало количество значительных изменений кодирования (по сравнению с "регистрацией и молилось, чтобы мои изменения не конфликтовали", который был необузданным). В конечном счете большинство разработчиков начало вносить небольшие изменения часто только для получения подтверждения от значка панели задач CC.Net.

В целом, я нашел очень утешительным знать, что мы могли сразу отослать сборку, если бы мы имели к. У нас было всего несколько интегрированных испытаний с помощью дыма, я думаю, что уровень напряжения был бы существенно ниже.

20
задан Lucian 29 September 2009 в 16:12
поделиться

1 ответ

Когда вы создаете ObjectContext, вам нужно будет использовать перегрузку конструктора, которая принимает ConnectionString в качестве параметра.

Вы можете построить эту ConnectionString, используя EntityConnectionStringBuilder . Более конкретно, предполагая, что вашей базовой базой данных является SQL Server, вы можете использовать SqlConnectionStringBuilder для создания значения EntityConnectionStringBuilder.ProviderConnectionString.

Вот код, который создает строку подключения SQL Server

var scsb = new SqlConnectionStringBuilder();
scsb.DataSource = "localhost";
scsb.InitialCatalog = "MyDB";
scsb.IntegratedSecurity = true;

А вот код, который строит Entity ConnectionString:

var builder = new EntityConnectionStringBuilder();
builder.Metadata = "res://*/MyModel.csdl|res://*/MyModel.ssdl|res://*/MyModel.msl";
builder.Provider = "System.Data.SqlClient";
builder.ProviderConnectionString = scsb.ConnectionString;
39
ответ дан 29 November 2019 в 23:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: