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