EntityReference Nedir?

Bu yazı 14 Mart 2019 tarihinde Medium/@dynamics365 altında yayınlanmıştır. 02 Mayıs 2020 tarihinde emregulcan.com altında taşınmıştır.

İçerikler, yazının oluşturulduğu tarih için geçerli olup, Microsoft Dynamics 365 CE, Power Platform ve Azure hizmetlerinin sürekli iyileştirme ve güncelleme döngüsünden dolayı paylaşılan bilgilerde değişiklikler meydana gelmiş olabilir.

Merhaba,

Bu yazıda Dynamics 365 CE (CRM) tarafında Entity ile sıkca karıştırılan EntityReference kavramın ve kullanım alanlarını anlatacağım.

Önceki yazıda Entity ‘nin bir kayıt (row) olduğunu belirtmiştim, EntityReference ise Dynamics 365 CE (CRM) ‘de 2 farklı Entity (Varlık) arasında bir bağlantıyı belirtmektedir.

Kolay bir örnek üzerinden gidecek olursak, Dynamics 365 CE (CRM) ‘de Contact (Bireysel Müşteri) ve City (İl) varlıklarının olduğunu ve Contact üzerinde bir alanda ilgili kişinin doğum yeri bilgisini (City) sakladığımız bir senaryomuz olsun. Bu durumda Contact ve City arasında kurulan ilişki bizim için EntityReference ‘dir.

Dynamics 365 CE (CRM) ‘de bu ilişki;

Customization (Özelleştirme) ve UI (arayüz) tarafında bu ilişki Lookup (Arama) olarak adlandırılmaktadır ve UI (arayüz) ‘da farklı bir component olarak görüntülenmektedir.

Dynamics 365 Customization (Özelleştirme) — Lookup alan oluşturma
Dynamics 365 Customization (Özelleştirme) — Lookup alan oluşturma
Lookup (Arama) alanı arayüz kontrolü — boş input
Lookup (Arama) alanı arayüz kontrolü — boş input
Lookup (Arama) alanı arayüz kontrolü — dolu input
Lookup (Arama) alanı arayüz kontrolü — dolu input

Dynamics 365 CE (CRM) SDK kullanarak yazmış olduğumuz kodlarda EntityReference nesnesidir. EntityReference(entityLogicalName, recordId) şeklinde kullanılmaktadır.

Dynamics 365 CE SDK kullanarak yazılan kodlarda EntityReference kullanımı
Dynamics 365 CE SDK kullanarak yazılan kodlarda EntityReference kullanımı

Database seviyesinde ise uniqueidentifier (GUID) değer saklayan ve ilgili tablo ile ForeignKey ilişkisi olan bir alandır.

Ufak bir hatırlatma; Dynamics 365 CE (CRM) Online sürümlerde direkt olarak database erişim imkanı bulunmamakta, bu nedenle aşağıdaki ekran görüntüsü d365tr_cityid örneğimizden farklıdır.

EntityReference ‘ın database yapısı
EntityReference ‘ın database yapısı

Yukarıdaki ekran görüntüsünde Data Type değeri uniqueidentifier olan kayıtların tümü EntityReference olarak çalışmaktadır.

Dynamics 365 CE (CRM) tarafında tüm Entity (Varlık) ‘ler için Primary Key (Birincil Anahtar — ID) değeri uniqueidentifier (GUID) türünde olduğu için EntityReference oluştururken ForeignKey yapısı da bu türde oluşmaktadır.

Umarım faydalı bir yazı olmuştur.


Dynamics 365 CE (CRM) SDK konusunda ilgili tüm yazılara tek nokta üzerinden ulaşmak isterseniz http://www.emregulcan.com/dynamics365-sdk adresine bakabilirsiniz.

You may also like...

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.