public override void Initialize(string name, NameValueCollection config)
{
Condition.Requires(name, "name").IsNotNullOrWhiteSpace();
Condition.Requires(config, "config").IsNotNull();
var membershipProviderName = config.GetString("membershipProviderName");
if (!string.IsNullOrWhiteSpace(membershipProviderName))
{
this.membershipProvider = this.membershipProviders[membershipProviderName] as BetterMembershipProvider;
}
if (this.membershipProvider == null)
{
throw new ProviderException("membershipProviderName is required");
}
config.Remove("membershipProviderName");
base.Initialize(name, config);
var providerName = string.Empty;
var connectionString = ConfigurationManager.ConnectionStrings[this.membershipProvider.ConnectionStringName];
if (connectionString != null)
{
providerName = connectionString.ProviderName;
}
this.sqlQueryBuilder = this.sqlQueryBuilderFactory(
providerName,
this.membershipProvider.UserTableName,
this.membershipProvider.UserIdColumn,
this.membershipProvider.UserNameColumn,
this.membershipProvider.UserEmailColumn);
}