public async Task GetInfo()
        {
            async Task GetInfoInternal()
            {
                if (_solution.DatabaseConfigurations.IsDbValid)
                {
                    var connection     = _solution.DatabaseConfigurations.DbConnection;
                    var sqlConnBuilder = new SqlConnectionStringBuilder(connection);
                    var conn           = new SqlConnection(connection);
                    var SqlDatabase    = new SqlDatabase
                    {
                        DatabaseName     = sqlConnBuilder.InitialCatalog,
                        ConnectionString = connection,
                        Tables           = new List <SqlTable>()
                    };
                    var tables = await GetDbTables(conn, SqlDatabase);

                    var compareRes = _dbmlCompare.Compare(_solution.DatabaseConfigurations.DbmlPath, tables);
                    SqlDatabase.Tables.AddRange(tables);
                    conn.Dispose();
                    Tables.ClearAndFill(await SqlDatabase.Tables.OrderBy(e => e.TableName).Select(CreateSqlTableViewModel));
                    TablesCount = Tables.Count;
                    ValidateTables(Tables);
                }
            }

            await ToggleBusyAsync(Task.Run(GetInfoInternal));
        }