Xrm.Sdk.Messages.CreateRequest

Merhaba,

Bu yazıda Dynamics 365 CE (CRM) SDK ‘da Microsoft.Xrm.Sdk.Messages namespace altında yer alan CreateRequest ‘i inceleyeceğiz.

CreateRequest, Dynamics 365 CE (CRM) ‘de herhangi bir Entity (Varlık) üzerinde yeni bir kayıt (Row) oluşturmak için kullanılmaktadır. En basit haliyle SQL ‘de Insert Into komutuna denk gelmektedir.

Daha önce IOrganizationService.Create metodunu incelemiştik. Bu yazıda anlattığım tüm önemli noktalar aynen CreateRequest için de geçerlidir.

IOrganizationService, Dynamics 365 CE (CRM) SDK içinde yer alan bazı işlemlere hızlı ulaşım imkanı sunan bir interface ve sağladığı bu “wrapper” metotlar arkaplanda OrganizationRequest ve OrganizationResponse yapısına dönüştürülerek OrganizationServiceProxy ‘nin Execute metodu ile işlenmekte. Dolayısıyla IOrganizationService.Create metodunu kullanmakla CreateRequest ile birlikte Execute metodunu kullanmak arasında temel mantıkta bir fark bulunmamakta.

Fakat ExecuteMultipleRequest ve ExecuteTransactionRequest gibi özel yapılarda birden fazla kayıt oluşturmak istiyorsak IOrganizationService.Create metodunu kullanamayız, işte bu durumda CreateRequest kullanmamız gerekli. CreateRequest ile detaylı bilgiye buradan ulaşabilirsiniz.

CreateRequest, Target isimli property ‘e Entity türünde data alan basit bir DTO nesnesidir. Oluşturduğumuz Entity nesnesini CreateRequest ile Dynamics 365 CE (CRM)’ de oluşturabiliriz.

CreateRequest ‘in cevap türü CreateResponse ‘dir. id property üzerinden Dynamics 365 CE (CRM) ‘de oluşturulan kaydın ID bilgisini (GUID) içermektedir.

.NET Projesi – Örnek Kod

.NET projelerimizde Microsoft.CrmSdk.CoreAssemblies kütüphanelerini kullanarak Dynamics 365 CE (CRM) ‘de yeni bir kayıt oluşturabiliriz. Bu kütüphaneleri NuGet üzerinden projemize dahil edebiliriz.

Dynamics 365 CE (CRM) SDK kütüphanelerini projemize nasıl ekleyeceğimizi daha önce burada detaylı olarak anlatmıştım.

Microsoft.Xrm.Sdk.Messages.CreateRequest
Microsoft.Xrm.Sdk.Messages.CreateRequest

Yukarıdaki örnekte ilk olarak IOrganizationService ya da CrmServiceClient ile Dynamics 365 CE (CRM) ‘e authentication işlemini yapıyoruz ve bağlantımızı oluşturuyoruz.

Daha sonra Dynamics 365 CE (CRM) ‘de oluşturmak istediğimiz kayıt için bir Entity nesnesi oluşturup ilgili alanları ekliyoruz. Bu örnekte ben Contact (Bireysel Müşteri) varlığını kullandım.

CreateRequest nesnesini oluşturup, Target property ‘ine oluşturduğumuz Entity nesnesini ekliyoruz.

Son adımda ise oluşturduğumuz bağlantıya göre IOrganizationService ya da CrmServiceClient üzerinden Execute metodunu kullanarak işlemimizi tamamlıyoruz.

Daha önce belirttiğim gibi Execute metodu parametre olarak OrganizationRequest türünde bir nesne alır ve başarılı işlem sonrası geriye OrganizationResponse türünde bir cevap döner (Response).

Yapmış olduğumuz işleme göre Request ve Response yapıları çift olarak bulunmaktadır. CreateRequest ‘in cevap türü CreateResponse ‘dir ve id property ‘de Dynamics 365 CE (CRM) ‘de oluşturulan kaydın ID bilgisini (GUID) içermektedir.

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


Dynamics 365 CE (CRM) SDK mesajları hakkında tüm yazılara tek nokta üzerinden ulaşmak isterseniz https://www.emregulcan.com/microsoft-xrm-sdk-messages adresine bakabilirsiniz.

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...

1 Response

  1. 2020-08-26

    […] CreateRequest […]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.