1

特定のテーブルに関する情報を収集したいので、これが私のコードです:

StringBuilder sb = new StringBuilder();
sb.AppendLine();
ServerConnection conn = new ServerConnection();
conn.ConnectionString = "";//MyConnection string
Server srv = new Server(conn);
Database db = srv.Databases["MyDataBase"];
Table tb = db.Tables["MyTable"];
foreach(Column c in tb.Columns) {

   sb.AppendLine(c.Name + " -> " + c.DataType.ToString());
   sb.AppendLine(c.ExtendedProperties["MS_Description"].Value.ToString());

  if(c.IsForeignKey){

    //Need to get reference here:
    //Sb.AppendLine("ReferenceColumn")
    //Sb.AppendLine("ReferenceTable")
    //Sb.AppendLine("ReferenceSchema")
  }
}

私はこれを見つけましたが、このリンクForeignkeysは最初に取得されます。ここで参照を見つける方法はありますか (Columnタイプ別)? この状況であなたの提案は何ですか?

4

1 に答える 1

1

これがあなたが探しているものかどうかわからない!

foreach (ForeignKey FKey in currentTable.ForeignKeys)
{
    foreach (ForeignKeyColumn FKColumn in FKey.Columns)
    {
        //Hope this is what you are looking for!
        //Check the output of FKColumn.Name
        //Check the output of FKey.ReferencedTable
    }
}
于 2012-07-16T13:09:25.947 に答える