ForeignKey Class
The ForeignKey object represents a SQL Server foreign key.
Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)
Syntax
'Declaration
Public NotInheritable Class ForeignKey _
    Inherits ScriptNameObjectBase _
    Implements ICreatable, IDroppable, IMarkForDrop, IAlterable,  _
    IRenamable, IExtendedProperties, IScriptable, IPropertyDataDispatch
'Usage
Dim instance As ForeignKey
public sealed class ForeignKey : ScriptNameObjectBase, 
    ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable, 
    IExtendedProperties, IScriptable, IPropertyDataDispatch
public ref class ForeignKey sealed : public ScriptNameObjectBase, 
    ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable, 
    IExtendedProperties, IScriptable, IPropertyDataDispatch
[<SealedAttribute>]
type ForeignKey =  
    class
        inherit ScriptNameObjectBase
        interface ICreatable
        interface IDroppable
        interface IMarkForDrop
        interface IAlterable
        interface IRenamable
        interface IExtendedProperties
        interface IScriptable
        interface IPropertyDataDispatch
    end
public final class ForeignKey extends ScriptNameObjectBase implements ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable, IExtendedProperties, IScriptable, IPropertyDataDispatch
Remarks
To get ForeignKey object properties, users can be a member of the public fixed server role.
To set ForeignKey object properties, users must have ALTER permission on the parent table or be a member of the db_owner fixed database role.
To create or drop a foreign key, users must have ALTER permission on the parent table or be a member of the db_owner fixed database role.
Thread Safety
Any public static (Shared in Microsoft Visual Basic) members of this type are safe for multithreaded operations. Any instance members are not guaranteed to be thread safe.
Inheritance Hierarchy
System.Object
  Microsoft.SqlServer.Management.Smo.SmoObjectBase
    Microsoft.SqlServer.Management.Smo.SqlSmoObject
      Microsoft.SqlServer.Management.Smo.NamedSmoObject
        Microsoft.SqlServer.Management.Smo.ScriptNameObjectBase
          Microsoft.SqlServer.Management.Smo.ForeignKey
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also