Aracılığıyla paylaş


ForeignKeyConstraint Sınıf

Tanım

Bir değer veya satır silindiğinde veya güncelleştirildiğinde birincil anahtar/yabancı anahtar ilişkisindeki bir sütun kümesinde uygulanan eylem kısıtlamalarını temsil eder.

public ref class ForeignKeyConstraint : System::Data::Constraint
public class ForeignKeyConstraint : System.Data.Constraint
[System.Serializable]
public class ForeignKeyConstraint : System.Data.Constraint
type ForeignKeyConstraint = class
    inherit Constraint
[<System.Serializable>]
type ForeignKeyConstraint = class
    inherit Constraint
Public Class ForeignKeyConstraint
Inherits Constraint
Devralma
ForeignKeyConstraint
Öznitelikler

Örnekler

Aşağıdaki örnek bir ForeignKeyConstraintoluşturur, özelliklerinden bazılarını ayarlar ve bir DataTable nesnenin ConstraintCollectionöğesine ekler.

' 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

Açıklamalar

Bir ForeignKeyConstraint sütundaki (veya sütunlardaki) bir değer silindiğinde veya güncelleştirildiğinde gerçekleştirilen eylemi kısıtlar. Böyle bir kısıtlama birincil anahtar sütunlarıyla kullanılmak üzere tasarlanmıştır. İki tablo arasındaki bir üst/alt ilişkide, üst tablodan bir değeri silmek alt satırları aşağıdaki yollardan biriyle etkileyebilir.

  • Alt satırlar da silinebilir (basamaklı eylem).

  • Alt sütundaki (veya sütunlardaki) değerler null değerlere ayarlanabilir.

  • Alt sütundaki (veya sütunlardaki) değerler varsayılan değerlere ayarlanabilir.

  • Özel durum oluşturulabilir.

ForeignKeyConstraintnesneleri, özelliği aracılığıyla Constraints erişilen içinde DataTableyer alırConstraintCollection.

Özelliği olarak ayarlanmadığı EnforceConstraintstruesürece kısıtlamalar uygulanmaz.

AcceptRejectRule bir nesnenin AcceptChanges yöntemi her çağrıldığında zorlanırDataTable.

Oluşturucular

Name Description
ForeignKeyConstraint(DataColumn, DataColumn)

Belirtilen üst ve alt DataColumn nesnelerle sınıfının yeni bir örneğini ForeignKeyConstraint başlatır.

ForeignKeyConstraint(DataColumn[], DataColumn[])

Belirtilen üst ve alt DataColumn nesne dizileriyle sınıfının yeni bir örneğini ForeignKeyConstraint başlatır.

ForeignKeyConstraint(String, DataColumn, DataColumn)

Belirtilen ad, üst ve alt DataColumn nesnelerle sınıfın yeni bir örneğini ForeignKeyConstraint başlatır.

ForeignKeyConstraint(String, DataColumn[], DataColumn[])

Sınıfın ForeignKeyConstraint yeni bir örneğini belirtilen adla ve üst ve alt DataColumn nesne dizileriyle başlatır.

ForeignKeyConstraint(String, String, String, String[], String[], AcceptRejectRule, Rule, Rule)

Bu oluşturucu, Visual Studio ortamında tasarım zamanı desteği için sağlanır. ForeignKeyConstraint bu oluşturucu kullanılarak oluşturulan nesneler daha sonra aracılığıyla AddRange(Constraint[])koleksiyona eklenmelidir. Belirtilen adlara sahip tablolar ve sütunlar yöntemi çağrılırken mevcut olmalıdır veya bu oluşturucu çağrılmadan önce çağrıldıysa BeginInit() , belirtilen adlara sahip tablo ve sütunların EndInit() çağrılan zamanda mevcut olması gerekir.

ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule)

Bu oluşturucu, Visual Studio ortamında tasarım zamanı desteği için sağlanır. ForeignKeyConstraint bu oluşturucu kullanılarak oluşturulan nesneler daha sonra aracılığıyla AddRange(Constraint[])koleksiyona eklenmelidir. Belirtilen adlara sahip tablolar ve sütunlar yöntemi çağrılırken mevcut olmalıdır veya bu oluşturucu çağrılmadan önce çağrıldıysa BeginInit() , belirtilen adlara sahip tablo ve sütunların EndInit() çağrılan zamanda mevcut olması gerekir.

Özellikler

Name Description
_DataSet

Bu kısıtlamanın DataSet ait olduğu değeri alır.

(Devralındığı yer: Constraint)
AcceptRejectRule

Çağrıldığında AcceptChanges() bu kısıtlamada gerçekleşmesi gereken eylemi gösterir.

Columns

Bu kısıtlamanın alt sütunlarını alır.

ConstraintName

içindeki ConstraintCollectionbir kısıtlamanın adı.

(Devralındığı yer: Constraint)
DeleteRule

Bir satır silindiğinde bu kısıtlamada gerçekleşen eylemi alır veya ayarlar.

ExtendedProperties

Kullanıcı tanımlı kısıtlama özellikleri koleksiyonunu alır.

(Devralındığı yer: Constraint)
RelatedColumns

Bu kısıtlamanın üst sütunları.

RelatedTable

Bu kısıtlamanın üst tablosunu alır.

Table

Bu kısıtlamanın alt tablosunu alır.

UpdateRule

Bir satır güncelleştirildiğinde bu kısıtlamada gerçekleşen eylemi alır veya ayarlar.

Yöntemler

Name Description
CheckStateForProperty()

Bu kısıtlamanın DataSet ait olduğu değeri alır.

(Devralındığı yer: Constraint)
Equals(Object)

Geçerli ForeignKeyConstraint değerin belirtilen nesneyle aynı olup olmadığını gösteren bir değer alır.

GetHashCode()

Nesnenin bu örneğinin ForeignKeyConstraint karma kodunu alır.

GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
SetDataSet(DataSet)

Kısıtlamanın DataSetöğesini ayarlar.

(Devralındığı yer: Constraint)
ToString()

ConstraintNameVarsa dize olarak öğesini alır.

(Devralındığı yer: Constraint)

Şunlara uygulanır

İş Parçacığı Güvenliği

Bu tür, çok iş parçacıklı okuma işlemleri için güvenlidir. Tüm yazma işlemlerini eşitlemeniz gerekir.

Ayrıca bkz.