2009-01-19 12 views
6

我有一個小問題,但我沒有找到答案:我如何獲取c#並使用Microsoft.SqlServer.Smo外鍵列引用的表?如何獲取表的外鍵指的是

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

回答

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(在key.Columns ForeignKeyColumn列)(我有它的foreach前key.Columns(列列),這是錯誤的。我的錯誤。)