ForeignKey 类

The ForeignKey object represents a SQL Server foreign key.

继承层次结构

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

命名空间:  Microsoft.SqlServer.Management.Smo
程序集:  Microsoft.SqlServer.Smo(在 Microsoft.SqlServer.Smo.dll 中)

语法

声明
Public NotInheritable Class ForeignKey _
    Inherits ScriptNameObjectBase _
    Implements ICreatable, IDroppable, IMarkForDrop, IAlterable,  _
    IRenamable, IExtendedProperties, IScriptable, ISfcSupportsDesignMode
用法
Dim instance As ForeignKey
public sealed class ForeignKey : ScriptNameObjectBase, 
    ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable, 
    IExtendedProperties, IScriptable, ISfcSupportsDesignMode
public ref class ForeignKey sealed : public ScriptNameObjectBase, 
    ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable, 
    IExtendedProperties, IScriptable, ISfcSupportsDesignMode
[<SealedAttribute>]
type ForeignKey =  
    class 
        inherit ScriptNameObjectBase 
        interface ICreatable 
        interface IDroppable 
        interface IMarkForDrop 
        interface IAlterable 
        interface IRenamable 
        interface IExtendedProperties 
        interface IScriptable 
        interface ISfcSupportsDesignMode 
    end
public final class ForeignKey extends ScriptNameObjectBase implements ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable, IExtendedProperties, IScriptable, ISfcSupportsDesignMode

ForeignKey 类型公开以下成员。

构造函数

  名称 说明
公共方法 ForeignKey() Initializes a new instance of the ForeignKey class.
公共方法 ForeignKey(Table, String) Initializes a new instance of the ForeignKey class on the specified table with the specified name.

页首

属性

  名称 说明
公共属性 Columns Represents a collection of Column objects. Each Column object represents a column included in the foreign key.
公共属性 CreateDate Gets the date and time when the foreign key was created.
公共属性 DateLastModified Gets the date and time when the foreign key was last modified.
公共属性 DeleteAction Gets or sets the action taken when the row that is referenced by the foreign key is deleted.
公共属性 ExtendedProperties Represents a collection of ExtendedProperty objects. Each ExtendedProperty object represents an extended property on the ForeignKey object.
公共属性 ID Gets the ID value that uniquely identifies the foreign key.
公共属性 IsChecked Gets or sets the Boolean property value that specifies whether the foreign key constraint was enabled without checking existing rows.
公共属性 IsEnabled Gets or sets the Boolean property value that specifies whether the foreign key is enabled.
公共属性 IsFileTableDefined Gets or sets whether the file table is defined.
公共属性 IsSystemNamed Gets the Boolean property value that specifies whether the foreign key is named by the system or by the user.
公共属性 Name Gets or sets the name of the foreign key. (覆盖 NamedSmoObject.Name。)
公共属性 NotForReplication Gets the Boolean property value that specifies whether the foreign key is available for replication.
公共属性 Parent Gets or sets the Table object that is the parent of the ForeignKey object.
公共属性 Properties Gets a collection of Property objects that represent the object properties. (从 SqlSmoObject 继承。)
公共属性 ReferencedKey Gets the primary key referenced by the foreign key.
公共属性 ReferencedTable Gets or sets the table that contains the primary key referenced by the foreign key.
公共属性 ReferencedTableSchema Gets or sets the table schema that contains the primary key referenced by the foreign key.
公共属性 ScriptReferencedTable Gets or sets the Boolean value that specifies whether to script the table referenced by the foreign key.
公共属性 ScriptReferencedTableSchema Gets or sets the Boolean value that specifies whether to script the schema of the table referenced by the foreign key.
公共属性 State Gets the state of the referenced object. (从 SmoObjectBase 继承。)
公共属性 UpdateAction Gets or sets the Boolean property value that specifies whether the foreign key supports cascading updates.
公共属性 Urn Gets the Uniform Resource Name (URN) address value that uniquely identifies the object. (从 SqlSmoObject 继承。)
公共属性 UserData Gets or sets user-defined data associated with the referenced object. (从 SmoObjectBase 继承。)

页首

方法

  名称 说明
公共方法 Alter Updates any ForeignKey object property changes on instance of SQL Server. 
公共方法 Create Creates a foreign key on the instance of SQL Server as defined by the ForeignKey object.
公共方法 Discover Discovers a list of type Object. (从 SqlSmoObject 继承。)
公共方法 Drop Drops the foreign key.
公共方法 Equals (从 Object 继承。)
受保护方法 FormatSqlVariant Formats an object as SqlVariant type. (从 SqlSmoObject 继承。)
受保护方法 GetContextDB Gets the context database that is associated with this object. (从 SqlSmoObject 继承。)
受保护方法 GetDBName Gets the database name that is associated with the object. (从 SqlSmoObject 继承。)
公共方法 GetHashCode (从 Object 继承。)
受保护方法 GetPropValue Gets a property value of the SqlSmoObject object. (从 SqlSmoObject 继承。)
受保护方法 GetPropValueOptional Gets a property value of the SqlSmoObject object. (从 SqlSmoObject 继承。)
受保护方法 GetPropValueOptionalAllowNull Gets a property value of the SqlSmoObject object. (从 SqlSmoObject 继承。)
受保护方法 GetServerObject Gets the server of the SqlSmoObject object. (从 SqlSmoObject 继承。)
公共方法 GetType (从 Object 继承。)
公共方法 Initialize() Initializes the object and forces the properties be loaded. (从 SqlSmoObject 继承。)
公共方法 Initialize(Boolean) Initializes the object and forces the properties be loaded. (从 SqlSmoObject 继承。)
受保护方法 IsObjectInitialized Verifies whether the object has been initialized. (从 SqlSmoObject 继承。)
受保护方法 IsObjectInSpace Verifies whether the object is isolated or connected to the instance of SQL Server. (从 SqlSmoObject 继承。)
公共方法 MarkForDrop Marks the foreign key to be dropped the next time its parent Table object is altered by the Alter method.
公共方法 Refresh Refreshes the script name. (从 ScriptNameObjectBase 继承。)
公共方法 Rename Renames the foreign key to the specified new name.
公共方法 Script() Generates a Transact-SQL script that can be used to re-create the foreign key.
公共方法 Script(ScriptingOptions) Generates a Transact-SQL script that can be used to re-create the foreign key as specified by the script options. 
受保护方法 SetParentImpl Sets the parent of the SqlSmoObject to the newParent parameter. (从 SqlSmoObject 继承。)
公共方法 ToString Returns a String that represents the referenced object. (从 SqlSmoObject 继承。)
公共方法 Validate Validates the state of an object. (从 SmoObjectBase 继承。)

页首

事件

  名称 说明
公共事件 PropertyChanged Represents the event that occurs when a property is changed. (从 SqlSmoObject 继承。)
公共事件 PropertyMetadataChanged Represents the event that occurs when property metadata changes. (从 SqlSmoObject 继承。)

页首

显式接口实现

  名称 说明
显式接口实现私有方法 IAlienObject.Discover Discovers any dependencies. 不要在您的代码中直接引用此成员。它支持 SQL Server 基础结构。 (从 SqlSmoObject 继承。)
显式接口实现私有方法 IAlienObject.GetDomainRoot Returns the root of the domain. (从 SqlSmoObject 继承。)
显式接口实现私有方法 IAlienObject.GetParent Gets the parent of this object. 不要在您的代码中直接引用此成员。它支持 SQL Server 基础结构。 (从 SqlSmoObject 继承。)
显式接口实现私有方法 IAlienObject.GetPropertyType Gets the type of the specified property. (从 SqlSmoObject 继承。)
显式接口实现私有方法 IAlienObject.GetPropertyValue Gets the value of the specified property. (从 SqlSmoObject 继承。)
显式接口实现私有方法 IAlienObject.GetUrn Gets the Unified Resource Name (URN) of the object. 不要在您的代码中直接引用此成员。它支持 SQL Server 基础结构。 (从 SqlSmoObject 继承。)
显式接口实现私有方法 IAlienObject.Resolve Gets the instance that contains the information about the object from the Unified Resource Name (URN) of the object. (从 SqlSmoObject 继承。)
显式接口实现私有方法 IAlienObject.SetObjectState Sets the object state to the specified SfcObjectState value. (从 SqlSmoObject 继承。)
显式接口实现私有方法 IAlienObject.SetPropertyValue Sets the property value. (从 SqlSmoObject 继承。)
显式接口实现私有方法 ISfcPropertyProvider.GetPropertySet Gets the interface reference to the set of properties of this object. (从 SqlSmoObject 继承。)
显式接口实现私有属性 ISfcSupportsDesignMode.IsDesignMode Gets a Boolean value that indicates whether the object supports design mode. 标识为仅供参考。不提供支持。不保证以后的兼容性。

页首

注释

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

此类型的任何公共静态(Microsoft Visual Basic 中的 Shared)成员在多线程操作中是安全的。但不保证所有实例成员都是线程安全的。

示例

创建、更改和删除外键

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。不保证所有实例成员都是线程安全的。

请参阅

参考

Microsoft.SqlServer.Management.Smo 命名空间

其他资源

创建、更改和删除外键

CREATE TABLE (Transact-SQL)