no se puntualmente como hacerlo desde C# directamente, ya que lo que yo haria sera seria llenar un dataset con el select que me trae todas las tablas.
sin embargio he estado mirandop por ahi ultimamente cosas que tra el c#2.0 y que puedes usar en el visual .net 2005, desconmozco si se puede en versiones anteriores, y es que al conectarse a la base de datos usando los asitentes, se generan una seriae de objetos dentro de los cuales estan los dataset, tableadapter, y otros dos que no recuerdo... uno de esos te permite acceder a lo que necesitas, al emnos en tiempo de diseño y haria que averiguar como funcionan en tiempo den ejecucion.