public void Use_With_Dependency_Injection()
        {
            // Register with SQL LocalDB services
            var services = new ServiceCollection()
                           .AddLogging((builder) => builder.AddXUnit(OutputHelper))
                           .AddSqlLocalDB();

            IServiceProvider serviceProvider = services.BuildServiceProvider();

            using (IServiceScope scope = serviceProvider.CreateScope())
            {
                ISqlLocalDbApi             localDB  = scope.ServiceProvider.GetService <ISqlLocalDbApi>();
                ISqlLocalDbInstanceInfo    instance = localDB.GetDefaultInstance();
                ISqlLocalDbInstanceManager manager  = instance.Manage();

                if (!instance.IsRunning)
                {
                    manager.Start();
                }

                using (SqlConnection connection = instance.CreateConnection())
                {
                    connection.Open();

                    // Use the SQL connection...
                }
            }
        }
Beispiel #2
0
        private async Task Initialize()
        {
            if (!_instance.IsRunning)
            {
                _manager.Start();
            }

            using (var connection = _instance.CreateConnection())
            {
                await connection.OpenAsync();

                var tempPath       = Environment.GetEnvironmentVariable("Temp");
                var createDatabase = $"CREATE DATABASE [{_databaseName}] on (name='{_databaseName}', "
                                     + $"filename='{tempPath}\\{_databaseName}.mdf')";
                using (var command = new SqlCommand(createDatabase, connection))
                {
                    await command.ExecuteNonQueryAsync();
                }
            }

            var sqlConnectionStringBuilder = _instance.CreateConnectionStringBuilder();

            sqlConnectionStringBuilder.InitialCatalog = _databaseName;
            ConnectionString = sqlConnectionStringBuilder.ToString();
            var settings = new MsSqlStreamStoreV3Settings(ConnectionString);

            _msSqlStreamStoreV3 = new MsSqlStreamStoreV3(settings);
            await _msSqlStreamStoreV3.CreateSchemaIfNotExists();
        }
        public static void CreateConnection_Throws_If_Instance_Is_Null()
        {
            // Arrange
            ISqlLocalDbInstanceInfo instance = null;

            // Act and Assert
            Assert.Throws <ArgumentNullException>("instance", () => instance.CreateConnection());
        }
        public void Create_A_Sql_LocalDB_Instance()
        {
            using (var localDB = new SqlLocalDbApi(OutputHelper.ToLoggerFactory()))
            {
                ISqlLocalDbInstanceInfo    instance = localDB.GetOrCreateInstance("MyInstance");
                ISqlLocalDbInstanceManager manager  = instance.Manage();

                if (!instance.IsRunning)
                {
                    manager.Start();
                }

                using (SqlConnection connection = instance.CreateConnection())
                {
                    connection.Open();

                    // Use the SQL connection...
                }

                manager.Stop();
            }
        }