哎,挺好的方法,可惜msdn上没有详细的参数表,只能自己写了。。。
| CollectionName |
| MetaDataCollections |
| DataSourceInformation |
| DataTypes |
| Restrictions |
| ReservedWords |
| Users |
| Databases |
| Tables |
| Columns |
| StructuredTypeMembers |
| Views |
| ViewColumns |
| ProcedureParameters |
| Procedures |
| ForeignKeys |
| IndexColumns |
| Indexes |
| UserDefinedTypes |

Code
private DataTable GetSqlDatabaseSchema(string strConn, string collectionName,string[] strs)
{
SqlConnection connection = new SqlConnection(strConn);
DataTable schema = new DataTable();
try
{
connection.Open();
if (!string.IsNullOrEmpty(collectionName))
{
if (strs != null&&strs.Length >0)
{
schema = connection.GetSchema(collectionName, strs);
}
else
schema = connection.GetSchema(collectionName);
}
else
schema = connection.GetSchema();
}
catch
{
schema = null;
}
finally
{
connection.Close();
}
return schema;
}