Aracılığıyla paylaş


referential integrity constraint

Varlık Veri Modeli'ndeki (EDM) bilgi tutarlılığı kısıtlaması, ilişkisel veritabanındaki bilgi tutarlılığı kısıtlamasına benzer. Veritabanı tablosundaki bir sütunun (veya sütunların) başka bir tablonun birincil anahtarına başvurabilmesiyle aynı şekilde, varlık türündeki bir özellik (veya özellikler) başka bir varlık türünün varlık anahtarına başvurabilir. Başvurulan varlık türü, kısıtlamanın asıl sonu olarak adlandırılır. Asıl uca başvuran varlık türü, kısıtlamanın bağımlı sonu olarak adlandırılır.

Bilgi tutarlılığı kısıtlaması, iki varlık türü arasındaki ilişkilendirmenin bir parçası olarak tanımlanır. Bilgi tutarlılığı kısıtlamasının tanımı aşağıdaki bilgileri belirtir:

  • Kısıtlamanın asıl sonu. (Varlık anahtarına bağımlı uç tarafından başvurulan bir varlık türü.)

  • Asıl ucun varlık anahtarı.

  • Kısıtlamanın bağımlı sonu. (Asıl ucun varlık anahtarına başvuran özelliği veya özellikleri olan varlık türü.)

  • Bağımlı ucun başvuran özelliği veya özellikleri.

EDM'deki bilgi tutarlılığı kısıtlamalarının amacı, geçerli ilişkilendirmelerin her zaman mevcut olduğundan emin olmaktır. Daha fazla bilgi için bkz . yabancı anahtar özelliği.

Örnek

Aşağıdaki diyagramda iki ilişkilendirmeye sahip kavramsal bir model gösterilmektedir: WrittenBy ve PublishedBy. Varlık Book türü, PublisherIdilişkilendirmede bilgi tutarlılığı kısıtlaması tanımladığınızda varlık türünün varlık anahtarına Publisher başvuran bir özelliğine PublishedBy sahiptir.

RefConstraintModel

ADO.NET Entity Framework, kavramsal modelleri tanımlamak için kavramsal şema tanım dili (CSDL) olarak adlandırılan etki alanına özgü bir dil (DSL) kullanır. Aşağıdaki CSDL, yukarıdaki kavramsal modelde gösterilen ilişkilendirme üzerinde PublishedBy bir bilgi tutarlılığı kısıtlaması tanımlar.

<Association Name="PublishedBy">
  <End Type="BooksModel.Book" Role="Book" Multiplicity="*" >
  </End>
  <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
  <ReferentialConstraint>
    <Principal Role="Publisher">
      <PropertyRef Name="Id" />
    </Principal>
    <Dependent Role="Book">
      <PropertyRef Name="PublisherId" />
    </Dependent>
  </ReferentialConstraint>
</Association>

Ayrıca bkz.