如何获取一个外键所指向的表

6

我有一个小问题,至今没有找到答案:如何在c#中使用Microsoft.SqlServer.Smo获取表中外键列所引用的表?

foreach (Column column in currentTable.Columns) {
        if (column.IsForeignKey) {
                 //GET TABLE FOREIGN KEY REFERS TO
          }
   }
2个回答

13

你应该从表本身开始,枚举所有的外键。示例代码:

foreach (ForeignKey key in currentTable.ForeignKeys)
{
    foreach (ForeignKeyColumn column in key.Columns)
    {
        Console.WriteLine("Column: {0} is a foreign key to Table: {1}",column.Name,key.ReferencedTable);
    }
}

编辑:做了小改动。在第二个foreach循环中,使用 foreach (ForeignKeyColumn column in key.Columns) (之前我写成了 foreach (Column column in key.Columns),这是错误的,是我的失误。)



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接