ForeignKey 类

The ForeignKey object represents a SQL Server foreign key.

命名空间:  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
用法
Dim instance As ForeignKey
public sealed class ForeignKey : ScriptNameObjectBase, 
    ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable, 
    IExtendedProperties, IScriptable
public ref class ForeignKey sealed : public ScriptNameObjectBase, 
    ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable, 
    IExtendedProperties, IScriptable
[<SealedAttribute>]
type ForeignKey =  
    class
        inherit ScriptNameObjectBase
        interface ICreatable
        interface IDroppable
        interface IMarkForDrop
        interface IAlterable
        interface IRenamable
        interface IExtendedProperties
        interface IScriptable
    end
public final class ForeignKey extends ScriptNameObjectBase implements ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable, IExtendedProperties, IScriptable

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.
受保护属性 ExecuteForScalar Gets or sets the Boolean property value that specifies whether the object is set to the execute for scalar option. (从 SqlSmoObject 继承。)
公共属性 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.
公共属性 IsSystemNamed Gets the Boolean property value that specifies whether the foreign key is named by the system or by the user.
受保护属性 IsTouched Gets the Boolean property value that specifies whether the object properties have been updated but not yet persisted on the server. (从 SqlSmoObject 继承。)
公共属性 Name Gets or sets the name of the object. (从 NamedSmoObject 继承。)
公共属性 NotForReplication Gets the Boolean property value that specifies whether the foreign key is available for replication.
受保护属性 ObjectInSpace Gets the Boolean property value that specifies whether the object exists in isolation, or whether it is directly or indirectly connected to the instance of SQL Server. (从 SqlSmoObject 继承。)
公共属性 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.
受保护属性 ScalarResult Gets the scalar result for the referenced object. (从 SqlSmoObject 继承。)
公共属性 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 继承。)

页首

方法

  名称 说明
受保护方法 AddDatabaseContext (从 SqlSmoObject 继承。)
公共方法 Alter Updates any ForeignKey object property changes on instance of SQL Server. 
受保护方法 AlterImpl (从 SqlSmoObject 继承。)
受保护方法 AlterImplFinish (从 SqlSmoObject 继承。)
受保护方法 AlterImplInit (从 SqlSmoObject 继承。)
受保护方法 AlterImplWorker (从 SqlSmoObject 继承。)
受保护方法 AppendCommaText (从 ScriptNameObjectBase 继承。)
受保护方法 AppendWithCommaText (从 ScriptNameObjectBase 继承。)
受保护方法 AppendWithOption (从 ScriptNameObjectBase 继承。)
受保护方法 BindDefaultImpl (从 SqlSmoObject 继承。)
受保护方法 BindRuleImpl (从 SqlSmoObject 继承。)
受保护方法 CheckCollation (从 SqlSmoObject 继承。)
受保护方法 CheckObjectDirty (从 ScriptNameObjectBase 继承。)
受保护方法 CheckObjectState() () () () Validates the state of the referenced object. (从 SqlSmoObject 继承。)
受保护方法 CheckObjectState(Boolean) Validates the state of the referenced object with the option to specify that an exception is thrown if the object is not yet created. (从 SqlSmoObject 继承。)
受保护方法 CheckObjectStateImpl (从 SqlSmoObject 继承。)
受保护方法 CheckTextCorectness (从 ScriptNameObjectBase 继承。)
受保护方法 CheckTextModeSupport (从 ScriptNameObjectBase 继承。)
受保护方法 CheckVersion100 (从 SqlSmoObject 继承。)
受保护方法 CheckVersion80 Checks the validity of the object on SQL Server 2000. (从 SqlSmoObject 继承。)
受保护方法 CheckVersion80SP3 Checks the validity of the object on SQL Server 2000 SP3. (从 SqlSmoObject 继承。)
受保护方法 CheckVersion90 Check the validity of the object on SQL Server 2005. (从 SqlSmoObject 继承。)
受保护方法 CheckVersionBelow90 (从 SqlSmoObject 继承。)
受保护方法 CleanObject Cleans the referenced object. (从 ScriptNameObjectBase 继承。)
公共方法 Create Creates a foreign key on the instance of SQL Server as defined by the ForeignKey object.
受保护方法 CreateImpl (从 SqlSmoObject 继承。)
受保护方法 CreateImplFinish (从 SqlSmoObject 继承。)
受保护方法 CreateImplInit (从 SqlSmoObject 继承。)
公共方法 Discover (从 SqlSmoObject 继承。)
公共方法 Drop Drops the foreign key.
受保护方法 DropImpl (从 SqlSmoObject 继承。)
受保护方法 DropImplWorker (从 SqlSmoObject 继承。)
受保护方法 EnumScriptImpl (从 SqlSmoObject 继承。)
受保护方法 EnumScriptImplWorker (从 SqlSmoObject 继承。)
公共方法 Equals (从 Object 继承。)
受保护方法 Finalize (从 Object 继承。)
受保护方法 ForceTextModeOnTextBody Enforces text mode on the text body. (从 ScriptNameObjectBase 继承。)
受保护方法 FormatSqlVariant (从 SqlSmoObject 继承。)
受保护方法 GenerateDataSpaceFileStreamScript (从 SqlSmoObject 继承。)
受保护方法 GenerateDataSpaceScript (从 SqlSmoObject 继承。)
受保护方法 GetBindDefaultScript (从 SqlSmoObject 继承。)
受保护方法 GetBindRuleScript (从 SqlSmoObject 继承。)
受保护方法 GetBoolParameter(StringBuilder, ScriptingOptions, String, String, Int32%) (从 SqlSmoObject 继承。)
受保护方法 GetBoolParameter(StringBuilder, ScriptingOptions, String, String, Int32%, Boolean) (从 SqlSmoObject 继承。)
受保护方法 GetBraketNameForText (从 ScriptNameObjectBase 继承。)
受保护方法 GetDateTimeParameter (从 SqlSmoObject 继承。)
受保护方法 GetDateTimeParameterAsInt (从 SqlSmoObject 继承。)
受保护方法 GetDBName Gets the database name that is associated with the object. (从 SqlSmoObject 继承。)
受保护方法 GetEnumParameter (从 SqlSmoObject 继承。)
受保护方法 GetFragOptionString (从 SqlSmoObject 继承。)
受保护方法 GetGuidParameter (从 SqlSmoObject 继承。)
公共方法 GetHashCode (从 Object 继承。)
受保护方法 GetIsTextDirty Determines whether the text value is consistent with stored value. (从 ScriptNameObjectBase 继承。)
受保护方法 GetParameter(StringBuilder, ScriptingOptions, String, String, Int32%) (从 SqlSmoObject 继承。)
受保护方法 GetParameter(StringBuilder, ScriptingOptions, String, String, Int32%, Boolean) (从 SqlSmoObject 继承。)
受保护方法 GetPropValue (从 SqlSmoObject 继承。)
受保护方法 GetPropValueOptional (从 SqlSmoObject 继承。)
受保护方法 GetPropValueOptionalAllowNull (从 SqlSmoObject 继承。)
受保护方法 GetRealValue (从 SqlSmoObject 继承。)
受保护方法 GetScriptIncludeExists (从 ScriptNameObjectBase 继承。)
受保护方法 GetScriptingOptionsForCreate (从 SqlSmoObject 继承。)
受保护方法 GetServerName Gets the name of the instance of SQL Server with which the object is associated. (从 SqlSmoObject 继承。)
受保护方法 GetServerObject (从 SqlSmoObject 继承。)
受保护方法 GetSqlServerVersionName Gets the version name of the instance of SQL Server with which the object is associated. (从 SqlSmoObject 继承。)
受保护方法 GetStringParameter(StringBuilder, ScriptingOptions, String, String, Int32%) (从 SqlSmoObject 继承。)
受保护方法 GetStringParameter(StringBuilder, ScriptingOptions, String, String, Int32%, Boolean) (从 SqlSmoObject 继承。)
受保护方法 GetTextBody() () () () Returns the text body. (从 ScriptNameObjectBase 继承。)
受保护方法 GetTextBody(Boolean) Returns the text body. (从 ScriptNameObjectBase 继承。)
受保护方法 GetTextForScript(ScriptingOptions, Boolean, array<String> [] () [] []) Gets the text for scripting. (从 ScriptNameObjectBase 继承。)
受保护方法 GetTextForScript(ScriptingOptions, Boolean, array<String> [] () [] [], Boolean) (从 ScriptNameObjectBase 继承。)
受保护方法 GetTextHeader Returns the text header. (从 ScriptNameObjectBase 继承。)
受保护方法 GetTextMode Determines whether the script name is using text mode. (从 ScriptNameObjectBase 继承。)
受保护方法 GetTextProperty(String) (从 ScriptNameObjectBase 继承。)
受保护方法 GetTextProperty(String, ScriptingOptions) (从 ScriptNameObjectBase 继承。)
受保护方法 GetTimeSpanParameterAsInt (从 SqlSmoObject 继承。)
公共方法 GetType (从 Object 继承。)
受保护方法 GetUrnRecursive(StringBuilder) (从 SqlSmoObject 继承。)
受保护方法 GetUrnRecursive(StringBuilder, UrnIdOption) (从 SqlSmoObject 继承。)
受保护方法 ImplInitialize (从 SqlSmoObject 继承。)
公共方法 Initialize() () () () Initializes the object and forces the properties be loaded. (从 SqlSmoObject 继承。)
公共方法 Initialize(Boolean) Initializes the object and forces the properties be loaded. (从 SqlSmoObject 继承。)
受保护方法 IsObjectDirty Determines whether the referenced object is consistent with the stored object. (从 ScriptNameObjectBase 继承。)
受保护方法 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 继承。)
受保护方法 IsVersion80SP3 (从 SqlSmoObject 继承。)
受保护方法 MarkDropped (从 SqlSmoObject 继承。)
公共方法 MarkForDrop Marks the foreign key to be dropped the next time its parent Table object is altered by the Alter method.
受保护方法 MarkForDropImpl (从 SqlSmoObject 继承。)
受保护方法 MemberwiseClone (从 Object 继承。)
受保护方法 PostAlter (从 SqlSmoObject 继承。)
受保护方法 PostCreate (从 SqlSmoObject 继承。)
受保护方法 PostDrop (从 SqlSmoObject 继承。)
公共方法 Refresh Refreshes the script name. (从 ScriptNameObjectBase 继承。)
公共方法 Rename Renames the foreign key to the specified new name.
受保护方法 RenameImpl This method supports the SMO infrastructure and is not intended to be used directly from your code. (从 NamedSmoObject 继承。)
受保护方法 RenameImplWorker This method supports the SMO infrastructure and is not intended to be used directly from your code. (从 NamedSmoObject 继承。)
公共方法 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. 
受保护方法 ScriptAlter (从 SqlSmoObject 继承。)
受保护方法 ScriptAnsiQI (从 ScriptNameObjectBase 继承。)
受保护方法 ScriptChangeOwner This method supports the SMO infrastructure and is not intended to be used directly from your code. (从 NamedSmoObject 继承。)
受保护方法 ScriptCreate (从 SqlSmoObject 继承。)
受保护方法 ScriptDdl (从 SqlSmoObject 继承。)
受保护方法 ScriptDrop (从 SqlSmoObject 继承。)
受保护方法 ScriptImpl() () () () (从 SqlSmoObject 继承。)
受保护方法 ScriptImpl(ScriptingOptions) (从 SqlSmoObject 继承。)
受保护方法 ScriptImplWorker (从 SqlSmoObject 继承。)
受保护方法 ScriptInformativeHeaders (从 ScriptNameObjectBase 继承。)
受保护方法 ScriptRename This method supports the SMO infrastructure and is not intended to be used directly from your code. (从 NamedSmoObject 继承。)
受保护方法 SetCollectionTextMode Sets the collection text mode. (从 ScriptNameObjectBase 继承。)
受保护方法 SetParentImpl (从 SqlSmoObject 继承。)
受保护方法 SetTextBody Specifies the text body. (从 ScriptNameObjectBase 继承。)
受保护方法 SetTextHeader Specifies the text header. (从 ScriptNameObjectBase 继承。)
受保护方法 SetTextMode Specifies the text mode. (从 ScriptNameObjectBase 继承。)
受保护方法 SwitchTextMode Switches the text mode. (从 ScriptNameObjectBase 继承。)
受保护方法 ThrowIfTextIsDirtyForAlter (从 ScriptNameObjectBase 继承。)
公共方法 ToString Returns a String that represents the referenced object. (从 SqlSmoObject 继承。)
受保护方法 TouchImpl (从 SqlSmoObject 继承。)
受保护方法 UnbindDefaultImpl (从 SqlSmoObject 继承。)
受保护方法 UnbindRuleImpl (从 SqlSmoObject 继承。)
公共方法 Validate (从 SmoObjectBase 继承。)

页首

事件

  名称 说明
公共事件 PropertyChanged (从 SqlSmoObject 继承。)
公共事件 PropertyMetadataChanged (从 SqlSmoObject 继承。)

页首

字段

  名称 说明
受保护字段 m_ExtendedProperties (从 SqlSmoObject 继承。)

页首

显式接口实现

  名称 说明
显式接口实现私有方法 IAlienObjectDiscover (从 SqlSmoObject 继承。)
显式接口实现私有方法 IAlienObjectGetParent (从 SqlSmoObject 继承。)
显式接口实现私有方法 IAlienObjectGetProperty (从 SqlSmoObject 继承。)
显式接口实现私有方法 ISfcPropertyProviderGetPropertySet (从 SqlSmoObject 继承。)
显式接口实现私有方法 IAlienObjectGetUrn (从 SqlSmoObject 继承。)
显式接口实现私有方法 IAlienObjectResolve (从 SqlSmoObject 继承。)
显式接口实现私有方法 IAlienObjectSetProperty (从 SqlSmoObject 继承。)

页首

注释

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) 成员都是线程安全的。不保证所有实例成员都是线程安全的。