Table.ForeignKeys Property

Represents a collection of ForeignKey objects. Each ForeignKey object represents a foreign key defined on the table.

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

Syntax

'Declaration
<SfcObjectAttribute(SfcContainerRelationship.ChildContainer, SfcContainerCardinality.ZeroToAny,  _
    GetType(ForeignKey), SfcObjectFlags.Design)> _
Public ReadOnly Property ForeignKeys As ForeignKeyCollection
    Get
'Usage
Dim instance As Table
Dim value As ForeignKeyCollection

value = instance.ForeignKeys
[SfcObjectAttribute(SfcContainerRelationship.ChildContainer, SfcContainerCardinality.ZeroToAny, 
    typeof(ForeignKey), SfcObjectFlags.Design)]
public ForeignKeyCollection ForeignKeys { get; }
[SfcObjectAttribute(SfcContainerRelationship::ChildContainer, SfcContainerCardinality::ZeroToAny, 
    typeof(ForeignKey), SfcObjectFlags::Design)]
public:
property ForeignKeyCollection^ ForeignKeys {
    ForeignKeyCollection^ get ();
}
[<SfcObjectAttribute(SfcContainerRelationship.ChildContainer, SfcContainerCardinality.ZeroToAny, 
    typeof(ForeignKey), SfcObjectFlags.Design)>]
member ForeignKeys : ForeignKeyCollection
function get ForeignKeys () : ForeignKeyCollection

Property Value

Type: Microsoft.SqlServer.Management.Smo.ForeignKeyCollection
A ForeignKey object that represents all the foreign keys defined on the table.

Examples

The following code example shows how to display each foreign key in the AdventureWorks2008R2 tables.

C#

Server srv = new Server("(local)");
Database db = srv.Databases["AdventureWorks2008R2"];

Foreach (Table tb in db.Tables) 
{
   foreach (ForeignKey f in tb.ForeignKeys)
   {
      Console.WriteLine("The " + tb.Name + " table contains the " + f.ToString() + " foreign key.");
   }
}

Powershell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item("AdventureWorks2008R2")

Foreach ($tb in $db.Tables) 
{
   foreach ($f in $tb.ForeignKeys)
   {
      Write-Host "The" $tb.Name "table contains the" $f "foreign key."
   }
}