ForeignKeyConstraint Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Ö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
Sütundaki ForeignKeyConstraint (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ıtlamanın birincil anahtar sütunlarıyla kullanılması amaçlanmış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 ConstraintCollection alır.
Özelliği olarak ayarlanmadığı EnforceConstraintstrue
sürece kısıtlamalar uygulanmaz.
AcceptRejectRule bir nesnenin AcceptChanges yöntemi her çağrıldığında zorlanırDataTable.
Oluşturucular
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ın yeni bir örneğini ForeignKeyConstraint başlatır. |
ForeignKeyConstraint(String, DataColumn[], DataColumn[]) |
Belirtilen adla sınıfının yeni bir örneğini ForeignKeyConstraint ve üst ve alt DataColumn nesne dizilerini 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öntemin çağrıldığı anda 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öntemin çağrıldığı anda 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
_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ıtlama boyunca gerçekleşmesi gereken eylemi gösterir. |
Columns |
Bu kısıtlamanın alt sütunlarını alır. |
ConstraintName |
içindeki bir kısıtlamanın ConstraintCollectionadı. (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
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ı belirten bir değer alır. |
GetHashCode() |
Nesnenin bu örneğinin ForeignKeyConstraint karma kodunu alır. |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ 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. Mevcut yazma işlemlerini eşitlemeniz gerekir.