Если вы определили DbContext для доступа к вашей базе данных, вы можете сделать следующее. (Предполагая, что вы используете Entity Framework).
using(var ctx = new YourDbContex())
{
var tableNames = ctx.Database.SqlQuery<string>("SELECT t.TABLE_NAME FROM INFORMATION_SCHEMA.TABLES as t WHERE t.TABLE_TYPE = 'BASE TABLE' AND t.TABLE_SCHEMA = 'yourDatabase'").ToList() ;
listBox1.Text = String.Join(", ", tableNames);
}
Этот SqlQuery получит все таблицы, которые вы определили в yourDatabase, и установит для Text значение table1, table2, ...
.
Если вы не хотите получать доступ к вашей базе данных с помощью DbContext, вы можете сделать это с помощью SqlCommandClass. При этом sql - это строка подключения.
var command = sql.CreateCommand() ;
command.CommandText = "SELECT t.TABLE_NAME FROM INFORMATION_SCHEMA.TABLES as t WHERE t.TABLE_TYPE = 'BASE TABLE' AND t.TABLE_SCHEMA = 'yourDatabaseName'";
List<string> tableNames = new List<string>() ;
sql.Open() ;
using(var reader = command.ExecuteReader())
{
while(reader.Read())
{
tableNames.Add(reader.GetString(0)) ;
}
}
sql.Close();
listBox1.Text = String.Join(", ", tableNames) ;