Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Dataverse API'leri ve Tabloları için Kod Oluşturucu
Dataverse tabloları, özel iletiler ve OrganizationServiceContext Sınıfından türetilen bir sınıf için erken bağlanan .NET sınıfları oluşturmak için pac modelbuilder derleme komutunu kullanın. Erken bağlanan sınıflar oluşturmak için bu komutu kullanma hakkında daha fazla bilgi edinin
sınıfından OrganizationServiceContexttüretilmiştir:
- Değişiklik yönetimi gibi özellikleri desteklemek için istemcide durumu korur.
- Dataverse verilerini kullanarak LINQ sorguları yazabilmeniz için System.Linq.IQueryable Arabirimini ve .NET Language-Integrated Sorgusu (LINQ) sorgu sağlayıcısını uygular.
Bu kod oluşturma aracının sağladığı özellikler hakkında daha fazla bilgi için:
- Kuruluş hizmetini kullanarak geç bağlanan ve erken bağlanan programlama
- OrganizationServiceContext kullanma
- LINQ ile sorgu oluşturma
Uyarı
pac modelbuilder build komutu, dağıtılmış öğesini CrmSvcUtil.exeMicrosoft.CrmSdk.CoreTools NuGet paketiyle değiştirir.
Commands
| Command | Description |
|---|---|
| pac modelbuilder derlemesi | Dataverse API'leri ve Tabloları için kod modeli oluşturur |
pac modelbuilder derlemesi
Dataverse API'leri ve Tabloları için kod modeli oluşturur
Uyarı
Komutu kullanabilmeniz build için önce pac auth create komutunu kullanarak Dataverse'e bağlanmanız gerekir. Birden çok bağlantınız varsa, kod oluşturmak istediğiniz Dataverse ortamını seçmek için pac kimlik doğrulaması seçmeyi kullanın.
Example
Aşağıdaki örnekte komutun build komut istemiyle nasıl kullanılacağı gösterilmektedir.
pac modelbuilder build ^
--entitynamesfilter account;contact ^
--generatesdkmessages ^
--messagenamesfilter examp_* ^
--emitfieldsclasses ^
--emitVirtualAttributes ^
--namespace MyApps.Model ^
--outdirectory c:\src\MyApps\Model ^
--writesettingsTemplateFile ^
--serviceContextName OrgContext
PowerShell kullanarak da aynı komutu kullanın:
pac modelbuilder build `
--entitynamesfilter 'account;contact' `
--generatesdkmessages `
--messagenamesfilter 'examp_*' `
--emitfieldsclasses `
--emitVirtualAttributes `
--namespace 'MyApps.Model' `
--outdirectory 'c:\src\MyApps\Model' `
--writesettingsTemplateFile `
--serviceContextName 'OrgContext'
Önemli
PowerShell kullanırken dize parametrelerini tek tırnak içine almanız gerekir.
Bu komutun sonucu, aşağıdaki dosyaların klasöre yazıldığından c:\src\MyApps\Model kaynaklanır.
C:\src\MyApps\Model\
|---Varlık\
| |--account.cs
| |--contact.cs
|---OptionSets\
| |--addresstypes.cs
|---messages\
| |--examp_myapi.cs
|---EntityOptionSetEnum.csbuilderSettings.json
|--- OrgContext.cs
|---
builderSettings.json , komut için belirttiğiniz parametreleri içerir. İşlemler değiştikçe dosyaları hızla yeniden oluşturmak için kullanabilirsiniz. Aşağıdaki örnekte buildersettings.json kullanılarak ilk komuttan oluşturulan dosyanın kullanılması gösterilmektedir:
pac modelbuilder build `
--outdirectory c:\src\MyApps\Model `
--settingsTemplateFile c:\src\MyApps\Model\builderSettings.json
Ayrıca, tüm parametreleri komutuna geçirmek yerine bir builderSettings.json dosya oluşturmayı ve bunu kullanmayı da seçebilirsiniz. Aşağıda, yukarıdaki ilk örnekle eşdeğer olan bir örnek verilmiştir:
{
"suppressINotifyPattern": false,
"suppressGeneratedCodeAttribute": false,
"language": "CS",
"namespace": "MyApps.Model",
"serviceContextName": "OrgContext",
"generateSdkMessages": true,
"generateGlobalOptionSets": false,
"emitFieldsClasses": true,
"entityTypesFolder": "Entities",
"messagesTypesFolder": "Messages",
"optionSetsTypesFolder": "OptionSets",
"entityNamesFilter": [
"account",
"contact"
],
"messageNamesFilter": [
"examp_*"
],
"emitEntityETC": false,
"emitVirtualAttributes": true
}
settingsTemplateFile parametresini kullanırken komutuna parametre geçirirseniz, komuta geçirilen parametreler dosyada builderSettings.json ayarlananları geçersiz kılar.
settingsTemplateFile parametresini ve writesettingsTemplateFile parametresini aynı anda kullanamazsınız.
Model oluşturucu derlemesi için gerekli Parametreler
--outdirectory
-o
Varlık, ileti ve seçenek kümesi dosyaları için dizin yazma.
Model oluşturucu derlemesi için isteğe bağlı Parametreler
--emitentityetc
-etc
Ayarlandığında, oluşturulan koda ETC ( varlık türü kodu ) varlığını ekler.
Bu parametre için değer gerekmez. Bu bir anahtar.
--emitfieldsclasses
-efc
Kod oluşturma sırasında varlığa göre tüm alan adlarını içeren bir sabitler yapısı oluşturun.
Bu parametre için değer gerekmez. Bu bir anahtar.
--emitvirtualattributes
-eva
Ayarlandığında, arama özniteliklerinin birincil ad öznitelik değerlerinde filtrelemeyi etkinleştiren aramalar için destekleyici ad öznitelikleri içerir.
Bu parametre için değer gerekmez. Bu bir anahtar.
--entitynamesfilter
-enf
Dataverse'den veri okunurken varlık listesini filtreler alınır. Noktalı virgülle ayrılmış liste olarak geçirilir. entitylogicalname< formunu >kullanma;<entitylogicalname>
--entitytypesfolder
-etf
Varlıkları içeren klasör adı. Varsayılan ad 'Varlıklar'dır.
--environment
-env
Hedef Dataverse'i belirtir. Değer guid veya mutlak https URL'si olabilir. Belirtilmediğinde, geçerli kimlik doğrulama profili için seçilen etkin kuruluş kullanılır.
--generateGlobalOptionSets
-go
Tüm Genel OptionSet'leri yayar. Not: Bir varlık genel bir seçenek kümesine başvuru içeriyorsa, bu anahtar mevcut olmasa bile yayılır.
--generatesdkmessages
-a
Ayarlandığında, kod oluşturmanın bir parçası olarak Sdk ileti sınıflarını yayar.
Bu parametre için değer gerekmez. Bu bir anahtar.
--language
-l
Oluşturulan proxy kodu için kullanılacak dil. Bu değer 'CS' veya 'VB' olabilir. Varsayılan dil 'CS'dir.
--logLevel
-ll
Günlük düzeyi. Varsayılan değer 'Kapalı'dır.
Şu değerlerden birini kullanın:
OffCriticalErrorWarningInformationVerboseActivityTracingAll
--messagenamesfilter
-mnf
Dataverse'den veri okunurken alınan iletilerin listesini filtreler. Noktalı virgülle ayrılmış liste olarak geçirildiğinde, gerekli iletiler (Oluştur, Güncelleştir, Sil, Al, RetrieveMultiple, İlişkilendir ve İlişkisini Kaldır) her zaman eklenir. Bir dizeyle başlayan veya biten tüm iletilere izin vermek için iletilerin adlarıyla sondaki veya baştaki yıldız işaretini (*) kullanın. form <ileti adını> kullanma;<ileti adı>.
--messagestypesfolder
-mtf
İletileri içeren klasör adı. Varsayılan ad "İletiler"dir.
--namespace
-n
Oluşturulan kodun ad alanı. Varsayılan ad alanı genel ad alanıdır.
--optionsetstypesfolder
-otf
Seçenek kümelerini içeren klasör adı. Varsayılan ad :'OptionSets'.
--serviceContextName
-sctx
Oluşturulan hizmet bağlamı için ad. Bir değer geçirilirse, Hizmet Bağlamı için kullanılır. Aksi takdirde Hizmet Bağlamı oluşturulmaz.
--settingsTemplateFile
-stf
Dataverse Model Builder'ın bu çalıştırması için kullanılacak Ayarları içerir, komut satırındaki yinelenen parametreleri geçersiz kılar. --writesettingstemplate kullanıldığında ayarlanamaz.
--suppressGeneratedCodeAttribute
-sgca
Bu ayar ayarlandığında, oluşturulan tüm nesnelerin kod oluşturma altyapısı ve sürümüyle etiketlenmesini gizler
Bu parametre için değer gerekmez. Bu bir anahtar.
--suppressINotifyPattern
Etkinleştirildiğinde, özellikler ve sınıflar için INotify sarmalayıcılarını yazmaz.
--writesettingsTemplateFile
-wstf
Ayarlandığında, geçerli geçirilen ayarlarla veya varsayılan ayarlarla çıkış dizinine bir ayarlar dosyası yazar.
Açıklamalar
Aşağıda komutunu kullanmaya yönelik öneriler yer alır pac modelbuilder build .
entitynamesfilter ve messagenamesfilter parametrelerini ayarlama
Dikkat
Oluşturulan dosyaları projenizde kullanacağınız dosyalarla sınırlamak için entitynamesfilter ve messagenamesfilter parametrelerini kullanmanızı kesinlikle öneririz. Aksi takdirde, derleme komutu Dataverse'den gelen tüm tablolar ve iletiler için kod oluşturmayı dener. Bu işlemin tamamlanması önemli ölçüde zaman alacaktır.
Microsoft.Crm.Sdk.Messages ve Microsoft.Xrm.Sdk.Messages ad alanında bulunan iletilerin sınıfları bu komut kullanılarak oluşturulmaz. Parametreye messagenamesfilter yalnızca özel eylemler gibi orada bulunmayan iletileri dahil etmelisiniz.
WPF uygulaması oluşturmuyorsanız ayarlayın suppressINotifyPattern
INotify Bu komut tarafından gizlenen sarmalayıcılar WPF uygulamalarıyla veri bağlama senaryoları için kullanılır. Oluşturulan kodla bir WPF uygulaması oluşturmuyorsanız bunlara ihtiyacınız yoktur. Bunları engellemek için suppressINotifyPattern parametresini kullanın.
İleti sınıfları oluşturulurken ekle serviceContextName
İleti sınıfları oluşturuyorsanız, kullanmasanız bile oluşturmak için her zaman OrganizationServiceContext parametresini eklemeniz gerekir. Oluşturulan ileti sınıfları bu dosyada bir özellik kümesi gerektirir. Bunu ayarlamazsanız oluşan hata hakkında daha fazla bilgi edinin.
Ayrıca bakınız
Microsoft Power Platform CLI Komut Grupları
Microsoft Power Platform CLI'ya genel bakış