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 CE (CRM) SDK kullanarak yazmış olduğumuz kodlarda EntityReference
nesnesidir. EntityReference(entityLogicalName, recordId)
şeklinde kullanılmaktadır.
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.
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.