如何遍历Microsoft.SqlServer.Management.Smo中每个表的IndexCollection

时间:2014-10-29 01:50:38

标签: sql-server smo

我正在尝试在Microsoft.SqlServer.Management.Smo应用程序中获取每个表的索引和约束列表,并且我很难获得开始的索引列表。

如果我没有弄错的话,每个表都有Indexes属性,类型为IndexCollection,看起来它有一个IndexCollections的集合作为其项目或元素。

例如,如果我有一个名为tbl的SQL Server表的引用,我可以按如下方式引用索引集合:

tbl.Indexes 

如何遍历Indexes集合并获取索引列表?

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

// iterate over the indexes for this table
foreach (Index ix in tbl.Indexes)
{
    string indexName = ix.Name;
    string indexType = ix.IndexType.ToString();
    string indexFilter = ix.FilterDefinition;
}

IndexCollectionIndex类型的对象的集合,然后包含许多属性以获取有关索引的信息。