我正在尝试在Microsoft.SqlServer.Management.Smo
应用程序中获取每个表的索引和约束列表,并且我很难获得开始的索引列表。
如果我没有弄错的话,每个表都有Indexes
属性,类型为IndexCollection
,看起来它有一个IndexCollections
的集合作为其项目或元素。
例如,如果我有一个名为tbl
的SQL Server表的引用,我可以按如下方式引用索引集合:
tbl.Indexes
如何遍历Indexes
集合并获取索引列表?
答案 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;
}
IndexCollection
是Index
类型的对象的集合,然后包含许多属性以获取有关索引的信息。