1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
namespace System.Data.Entity
{
using System.Configuration;
using System.Data.Entity.Internal.ConfigFile;
public static class ConfigurationExtensions
{
public static Configuration AddDefaultConnectionFactory(
this Configuration config,
string factoryName,
params string[] parameters)
{
var ef = (EntityFrameworkSection)config.GetSection("entityFramework");
ef.DefaultConnectionFactory.FactoryTypeName = factoryName;
foreach (var argument in parameters)
{
var element = ef.DefaultConnectionFactory.Parameters.NewElement();
element.ValueString = argument;
}
config.Save();
return ConfigurationManager.OpenMappedExeConfiguration(
new ExeConfigurationFileMap
{
ExeConfigFilename = config.FilePath
},
ConfigurationUserLevel.None);
}
public static Configuration AddConnectionString(
this Configuration config,
string name,
string connectionString,
string providerName = null)
{
config.ConnectionStrings.ConnectionStrings.Add(
new ConnectionStringSettings(name, connectionString, providerName));
config.Save();
return ConfigurationManager.OpenMappedExeConfiguration(
new ExeConfigurationFileMap
{
ExeConfigFilename = config.FilePath
},
ConfigurationUserLevel.None);
}
}
}
|