Да, это работает! Все, что вам нужно изменить, это connection string
.
И я только что протестировал его, чтобы удовлетворить свое любопытство.
Вот шаги, которые я взял:
1. Возьмите existing database
и create a model
для него.
2. Создайте новую пустую базу данных.
3. В SQL Management Studio
щелкните правой кнопкой мыши по первой базе данных -> Задачи ->Export Data
. Экспортируйте все его данные во вновь созданную базу данных.
4. Удалите некоторые записи из второй базы данных.
5. Напишите этот код:
TMS_MiscEntities db = new TMS_MiscEntities();
TMS_MiscEntities dbCopy = new TMS_MiscEntities();
dbCopy.Database.Connection.ConnectionString = db.Database.Connection.ConnectionString.Replace("initial catalog=TMS_Misc", "initial catalog=TMS_Misc_new");
Response.Write(string.Format("DB 1 records: {0}<br/>", db.ZipCodes.Count()));
Response.Write(string.Format("DB 2 records: {0}<br/>", dbCopy.ZipCodes.Count()));
6. Проверить результаты:
DB 1 records: 869164
DB 2 records: 868709
7. Заключить, что он работает :)
Это как моя строка подключения выглядит:
<add name="TMS_MiscEntities" connectionString="metadata=res://*/DbModel.csdl|res://*/DbModel.ssdl|res://*/DbModel.msl;provider=System.Data.SqlClient;provider connection string="data source=ws2008;initial catalog=TMS_Misc;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
Разве VS не создает контекст с конструктором, который принимает строковый параметр? –