我认为您应该能够使用SqlDataReader.GetSchemaTable方法来访问架构.
更多信息可以在这里找到.
http://support.microsoft.com/kb/310107
以上来源的例子
SqlConnection cn = new SqlConnection(); SqlCommand cmd = new SqlCommand(); DataTable schemaTable; SqlDataReader myReader; //Open a connection to the SQL Server Northwind database. cn.ConnectionString = "Data Source=server;User ID=login; Password=password;Initial Catalog=DB"; cn.Open(); //Retrieve records from the Employees table into a DataReader. cmd.Connection = cn; cmd.CommandText = "SELECT Id, IntField, NullableIntField, VarcharField, DateField FROM SomeTable"; myReader = cmd.ExecuteReader(CommandBehavior.KeyInfo); //Retrieve column schema into a DataTable. schemaTable = myReader.GetSchemaTable(); //For each field in the table... foreach (DataRow myField in schemaTable.Rows){ //For each property of the field... foreach (DataColumn myProperty in schemaTable.Columns) { //Display the field name and value. Console.WriteLine(myProperty.ColumnName + " = " + myField[myProperty].ToString()); } Console.WriteLine(); //Pause. Console.ReadLine(); } //Always close the DataReader and connection. myReader.Close(); cn.Close();