6

まだ答えが見つからない小さな質問があります。C# で Microsoft.SqlServer.Smo を使用して、外部キー列が参照しているテーブルを取得するにはどうすればよいですか?

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

2 に答える 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);
    }
}

編集:小さな変更。2 番目の foreach ループでは、foreach (key.Columns の ForeignKeyColumn 列) を使用します (前に foreach (key.Columns の列列) を使用しましたが、それは間違っています。私の間違いです。)

于 2009-01-19T19:55:51.593 に答える
3

SMO dll を使用する

http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.table.aspx

于 2011-01-20T17:59:03.080 に答える