ОК, а не борьба с xml
i был направлен на EntityConnectionStringBuilder
. Итак, вот что я до сих пор. EnityManagerFactory
вызывает метод Create. Теперь метод Create создает и возвращает обратно EntityManager
, в этом случае называется UnionEntities
.Построение динамической строки соединения IdeaBlade с использованием EntityConnectionStringBuilder
public UnionEntities Create()
{
string providerName = "System.Data.SqlClient";
string serverName = ConfigurationManager.AppSettings["DatabaseServer"];
string databaseName = ConfigurationManager.AppSettings["DatabaseName"];
string userName = ConfigurationManager.AppSettings["DatabaseUserName"];
string password = ConfigurationManager.AppSettings["DatabasePassword"];
bool integratedSecurity = bool.Parse(ConfigurationManager.AppSettings["IntegratedSecurity"]);
SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder();
// Set the properties for the data source.
sqlBuilder.DataSource = serverName;
sqlBuilder.InitialCatalog = databaseName;
sqlBuilder.IntegratedSecurity = integratedSecurity;
sqlBuilder.UserID = userName;
sqlBuilder.Password = password;
// Build the SqlConnection connection string.
string providerString = sqlBuilder.ToString();
// Initialize the EntityConnectionStringBuilder.
EntityConnectionStringBuilder entityBuilder =
new EntityConnectionStringBuilder();
//Set the provider name.
entityBuilder.Provider = providerName;
// Set the provider-specific connection string.
entityBuilder.ProviderConnectionString = providerString;
// Set the Metadata location.
entityBuilder.Metadata = @"res://*/UnionModel.csdl|
res://*/UnionModel.ssdl|
res://*/UnionModel.msl";
var manager = new UnionEntities();
manager.Saving += SaveValidationHelper.SavingHandler;
manager.DefaultQueryStrategy = QueryStrategy.DataSourceOnly;
return manager;
}
Теперь обычно новый UnionEntities()
использует ConnectionString
в app.Config file
. Как я теперь скажу, чтобы вместо этого использовать мой объект EntityConnectionStringBuilder
?