ForeignKeyConstraint 클래스
값 또는 행이 삭제되거나 업데이트될 때 기본 키/외래 키 관계에서 열 집합에 적용되는 동작 제한을 나타냅니다.
네임스페이스: System.Data
어셈블리: System.Data(system.data.dll)
구문
‘선언
Public Class ForeignKeyConstraint
Inherits Constraint
‘사용 방법
Dim instance As ForeignKeyConstraint
public class ForeignKeyConstraint : Constraint
public ref class ForeignKeyConstraint : public Constraint
public class ForeignKeyConstraint extends Constraint
public class ForeignKeyConstraint extends Constraint
설명
ForeignKeyConstraint는 열의 값이 삭제되거나 업데이트되었을 경우에 수행되는 작업을 제한합니다. 이러한 제약 조건은 기본 키 열과 함께 사용되어야 합니다. 두 테이블이 부모/자식 관계에 있을 때 부모 테이블에서 값을 삭제하면 자식 행에 다음 중 한 가지 결과가 나타날 수 있습니다.
자식 행이 삭제됩니다(관련 행 모두 삭제).
자식 열의 값이 null 값으로 설정됩니다.
자식 열의 값이 기본값으로 설정됩니다.
예외가 생성될 수 있습니다.
ForeignKeyConstraint 개체는 Constraints 속성을 통해 액세스하는 DataTable의 ConstraintCollection에 포함됩니다.
EnforceConstraints 속성이 true로 설정되어 있지 않으면 제약 조건이 적용되지 않습니다.
AcceptRejectRule은 DataTable 개체의 AcceptChanges 메서드가 호출될 때마다 적용됩니다.
예제
다음 예제에서는 ForeignKeyConstraint를 만들고 동일한 속성을 설정한 다음 이것을 DataTable 개체의 ConstraintCollection에 추가합니다.
' The next line goes into the Declarations section of the module:
' SuppliersProducts is a class derived from DataSet.
Private suppliersProducts As SuppliersProducts
Private Sub CreateConstraint()
' Declare parent column and child column variables.
Dim parentColumn As DataColumn
Dim childColumn As DataColumn
Dim fkeyConstraint As ForeignKeyConstraint
' Set parent and child column variables.
parentColumn = suppliersProducts.Tables("Suppliers").Columns("SupplierID")
childColumn = suppliersProducts.Tables("Products").Columns("SupplierID")
fkeyConstraint = New ForeignKeyConstraint( _
"SupplierFKConstraint", parentColumn, childColumn)
' Set null values when a value is deleted.
fkeyConstraint.DeleteRule = Rule.SetNull
fkeyConstraint.UpdateRule = Rule.Cascade
fkeyConstraint.AcceptRejectRule = AcceptRejectRule.Cascade
' Add the constraint, and set EnforceConstraints to true.
suppliersProducts.Tables("Products").Constraints.Add(fkeyConstraint)
suppliersProducts.EnforceConstraints = True
End Sub
상속 계층 구조
System.Object
System.Data.Constraint
System.Data.ForeignKeyConstraint
스레드로부터의 안전성
이 형식은 다중 스레드 읽기 작업에 안전합니다. 쓰기 작업을 동기화해야 합니다.
플랫폼
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원
.NET Compact Framework
2.0, 1.0에서 지원
참고 항목
참조
ForeignKeyConstraint 멤버
System.Data 네임스페이스
AcceptRejectRule 열거형
DataTable 클래스
ConstraintCollection 클래스
Rule