Esempio n. 1
0
        //private static Initializer _initializer = new Initializer();

        public Initializer()
        {
            string databaseName;

            using (var ctx = SqlServerValidationToolkitContext.Create(Settings.Default.ConnectionString))
            {
                databaseName = ctx.Database.Connection.Database;
            }

            string deleteQueryFormat = @"
            USE [master]
            
            
                ALTER DATABASE [{0}] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
                DROP DATABASE [{0}] ;";

            string deleteQuery = string.Format(deleteQueryFormat, databaseName);
            string encryptedConnectionString;

            using (var secureConnectionString = Settings.Default.ConnectionString.ToSecureString())
            {
                encryptedConnectionString = secureConnectionString.EncryptString();
            }

            DatabaseInitializer initializer = new DatabaseInitializer(encryptedConnectionString);

            initializer.ExecuteSplitByGo(deleteQuery);

            System.Data.Entity.Database.SetInitializer <SqlServerValidationToolkitContext>(null);
            using (var ctx = SqlServerValidationToolkitContext.Create(Settings.Default.ConnectionString))
            {
                ctx.Database.Create();
            }

            ValidationRuleFactory = new ValidationRuleFactory();


            //initializer.InstallValidationToolkit();

            System.Data.Entity.Database.SetInitializer <TestDatabaseContext>(null);

            initializer.ExecuteSplitByGo(Resources.CREATE_and_fill_Validation_Test_Database);
        }