internal BetterMembershipProvider(
            IWebSecurityFacade webSecurityFacade,
            Func <string, IDatabase> databaseFactory,
            Func <string, string, string, string, string, ISqlQueryBuilder> sqlQueryBuilderFactory)
        {
            Condition.Requires(webSecurityFacade, "webSecurityFacade").IsNotNull();
            Condition.Requires(databaseFactory, "databaseFactory").IsNotNull();
            Condition.Requires(sqlQueryBuilderFactory, "sqlQueryBuilderFactory").IsNotNull();

            this.webSecurityFacade      = webSecurityFacade;
            this.databaseFactory        = databaseFactory;
            this.sqlQueryBuilderFactory = sqlQueryBuilderFactory;
        }
        internal BetterMembershipProvider(
            IWebSecurityFacade webSecurityFacade, 
            Func<string, IDatabase> databaseFactory, 
            Func<string, string, string, string, string, ISqlQueryBuilder> sqlQueryBuilderFactory)
        {
            Condition.Requires(webSecurityFacade, "webSecurityFacade").IsNotNull();
            Condition.Requires(databaseFactory, "databaseFactory").IsNotNull();
            Condition.Requires(sqlQueryBuilderFactory, "sqlQueryBuilderFactory").IsNotNull();

            this.webSecurityFacade = webSecurityFacade;
            this.databaseFactory = databaseFactory;
            this.sqlQueryBuilderFactory = sqlQueryBuilderFactory;
        }