Comment obtenir des colonnes de la clé Primaire de contraintes à l'aide de SqlConnection.GetSchema()

J'ai un code de ADO.NET pour détecter dynamiquement le schéma de base de données, ce dont j'ai besoin est de savoir comment obtenir des colonnes uniques contraintes et les contraintes de clé Primaire à l'aide de la GetSchema méthode sur SqlConnection. C'est le code que j'ai:

conn.Open();     
SqlCommand mSqlCommand = new SqlCommand("sp_pkeys", conn);
mSqlCommand.CommandType = CommandType.StoredProcedure;
mSqlCommand.Parameters.Add(
    "@table_name", SqlDbType.NVarChar).Value = tableName;
SqlDataReader mReader = mSqlCommand.ExecuteReader(
    (CommandBehavior.KeyInfo | CommandBehavior.SchemaOnly));
//ExecuteReader();
DataTable schema = mReader.GetSchemaTable();
mReader.Close();
conn.Close();

OriginalL'auteur shamim | 2011-05-01