association type
İlişkilendirme türü (ilişkilendirme olarak da adlandırılır), Varlık Veri Modeli'ndeki (EDM) ilişkileri açıklamaya yönelik temel yapı taşıdır. Kavramsal modelde ilişki, iki varlık türü (ve gibi Customer
Order
) arasındaki ilişkiyi temsil eder. Bir uygulamada, ilişkilendirmenin bir örneği belirli bir ilişkiyi temsil eder (örneğin, bir örneği Customer
ile örneği arasındaki ilişki).Order
İlişkilendirme örnekleri bir ilişkilendirme kümesinde mantıksal olarak gruplandırılır.
İlişkilendirme tanımı aşağıdaki bilgileri içerir:
Benzersiz bir ad. (Gerekli)
İlişkideki her varlık türü için bir tane olan iki ilişkilendirme sona erer. (Gerekli)
Not
İlişkilendirme, ikiden fazla varlık türü arasındaki bir ilişkiyi temsil edemez. Ancak bir ilişkilendirme, ilişkilendirmesinin sona erdiği her varlık türü için aynı varlık türünü belirterek kendi kendine ilişki tanımlayabilir.
Bilgi tutarlılığı kısıtlaması. (İsteğe bağlı)
Her ilişkilendirme sonu, ilişkilendirmenin bir ucunda olabilecek varlık türü örneklerinin sayısını gösteren bir ilişkilendirme sonu çokluğu belirtmelidir. İlişki sonu çokluğu bir (1), sıfır veya bir (0..1) veya çok (*) değerine sahip olabilir. İlişkilendirmenin bir ucundaki varlık türü örneklerine, bir varlık türünde kullanıma sunulduklarında gezinti özellikleri veya yabancı anahtarlar aracılığıyla erişilebilir. Daha fazla bilgi için bkz . Varlık Veri Modeli: Yabancı Anahtarlar.
Örnek
Aşağıdaki diyagramda iki ilişkilendirmeye sahip kavramsal bir model gösterilmektedir: PublishedBy
ve WrittenBy
. İlişkilendirme için PublishedBy
ilişkilendirme uçları ve Publisher
varlık türleridirBook
. Sonun Publisher
çokluğu birdir (1) ve sonun Book
çokluğu çok (*) olur, bu da yayıncının çok sayıda kitap yayımladığını ve bir kitabın bir yayıncı tarafından yayımlandığını gösterir.
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 diyagramda gösterilen ilişkilendirmeyi tanımlar PublishedBy
:
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
</Association>