2009-01-19 23 views
6

Tengo una pequeña pregunta que todavía no he encontrado una respuesta: ¿cómo obtengo en C# y usando Microsoft.SqlServer.Smo la tabla a la que se refiere una columna de clave externa?Cómo obtener la tabla una clave externa se refiere a

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

Respuesta

13

Debe comenzar desde la tabla y enumerar todas sus claves externas. Código de muestra:

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); 
    } 
} 

EDIT: Small change. En segundo foreach uso bucle foreach (columna ForeignKeyColumn en key.Columns) (lo tenía forEach (columna Columna en key.Columns) antes, y lo que está mal. Mi error.)

Cuestiones relacionadas