Deli z drugimi prek


pac modelbuilder

Generator kod za API-je in tabele dataverse

Z ukazom graditve pac modelbuilder ustvarite predčasne razrede .NET za tabele Dataverse, sporočila po meri in razred, ki je izpeljan iz razreda OrganizationServiceContext Class. Preberite več o uporabi tega ukaza za ustvarjanje predčasnih vezanih razredov

Razred, izpeljan iz OrganizationServiceContext:

  • Vzdržuje stanje v odjemalcu za podporo funkcij, kot je upravljanje sprememb.
  • Uvaja vmesnik System.Linq.IQueryable Interface in ponudnika poizvedbe .NET Language-Integrated Query (LINQ), tako da lahko pišete poizvedbe LINQ s podatki Dataverse.

Če želite več informacij o zmogljivostih, ki jih omogoča to orodje za ustvarjanje kode:

opomba,

Ukaz pac modelbuilder build zamenja porazdeljeni paket CrmSvcUtil.exeMicrosoft.CrmSdk.CoreTools NuGet.

Ukazi

Ukaz Opis
pac modelbuilder build Zgradi model kode za API-je in tabele Dataverse

pac modelbuilder build

Zgradi model kode za API-je in tabele Dataverse

opomba,

Preden lahko uporabite ukaz build , morate najprej vzpostaviti povezavo s storitvijo Dataverse z ukazom ustvari preverjanje pristnosti . Če imate več povezav, s preverjanjem pristnosti izberite okolje Dataverse, za katerega želite ustvariti kodo.

Primer

V spodnjem primeru je prikazano, kako uporabite ukaz build z ukazno vrstico.

pac modelbuilder build ^
  --entitynamesfilter account;contact ^
  --generatesdkmessages ^
  --messagenamesfilter examp_* ^
  --emitfieldsclasses ^
  --emitVirtualAttributes ^
  --namespace MyApps.Model ^
  --outdirectory c:\src\MyApps\Model ^
  --writesettingsTemplateFile ^
  --serviceContextName OrgContext

In isti ukaz s storitvijo PowerShell:

pac modelbuilder build `
  --entitynamesfilter 'account;contact' `
  --generatesdkmessages `
  --messagenamesfilter 'examp_*' `
  --emitfieldsclasses `
  --emitVirtualAttributes `
  --namespace 'MyApps.Model' `
  --outdirectory 'c:\src\MyApps\Model' `
  --writesettingsTemplateFile `
  --serviceContextName 'OrgContext'

Pomembno

Ko uporabljate PowerShell, morate parametre nizov obdati z enojnimi narekovaji.

Rezultat tega ukaza je, da so v mapo zapisane te c:\src\MyApps\Model datoteke.

C:\src\MyApps\Model\
|---Subjekti\
| |--account.cs
| |--contact.cs
|---OptionSets\
| |--addresstypes.cs
|---Messages\
| |--examp_myapi.cs
|---EntityOptionSetEnum.cs
|---builderSettings.json
|---OrgContext.cs

builderSettings.json vsebuje parametre, ki ste jih določili za ukaz. Z njim lahko hitro obnovite datoteke, ko se stvari spremenijo. V spodnjem primeru je prikazana uporaba ustvarjene buildersettings.json datoteke iz prvega ukaza z uporabo settingsTemplateFile:

pac modelbuilder build `
  --outdirectory c:\src\MyApps\Model `
  --settingsTemplateFile c:\src\MyApps\Model\builderSettings.json

Izberete lahko tudi, da želite ustvariti builderSettings.json datoteko in jo uporabiti, namesto da bi ukazu podajali vse parametre. V nadaljevanju je primer, ki je enak zgornjemu primeru:

{
  "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
}

Če med uporabo parametra settingsTemplateFile ukazu podate parametre, bodo parametri, posredovani ukazu, preglasil tiste, ki so nastavljeni v builderSettings.json datoteki.

Hkrati ne morete uporabiti parametra settingsTemplateFile in parametra writesettingsTemplateFile .

Zahtevani parametri za gradnjo modelbuilder

--outdirectory -o

Napišite imenik za datoteke entitete, sporočila in nabora možnosti.

Izbirni parametri za gradnjo modelbuilder

--emitentityetc -etc

Ko je nastavljeno, vključi entiteto ETC ( koda vrste entitete ) v ustvarjeno kodo.

Ta parameter ne zahteva vrednosti. Stikalo je.

--emitfieldsclasses -efc

Ustvarite strukturo konstant, ki vsebuje vsa imena polj po entiteti v času ustvarjanja kode.

Ta parameter ne zahteva vrednosti. Stikalo je.

--emitvirtualattributes -eva

Ko je nastavljen, vključuje atribute podpornih imen za iskanja, ki omogočajo filtriranje vrednosti atributov primarnega imena atributov iskanja.

Ta parameter ne zahteva vrednosti. Stikalo je.

--entitynamesfilter -enf

Filtrira seznam entitet, ki so pridobljene pri branju podatkov iz storitve Dataverse. Posredovan kot seznam, ločen s podpičjem. Uporaba oblike entitylogicalname<>;<entitylogicalname>

--entitytypesfolder -etf

Ime mape, ki vsebuje entitete. Privzeto ime je »Entitete«.

--environment -env

Določa ciljni Dataverse. Vrednost je lahko GUID ali absolutni URL https. Če ni določeno, bo uporabljena aktivna organizacija, ki je izbrana za trenutni profil za preverjanje pristnosti.

--generateGlobalOptionSets -go

Oddaja vse globalne nabore možnosti. Opomba: Če entiteta vsebuje sklic na nabor globalnih možnosti, je izpuščena, tudi če to stikalo ni na voljo.

--generatesdkmessages -a

Ko je nastavitev nastavljena, oddaja razrede sporočil Sdk kot del ustvarjanja kode.

Ta parameter ne zahteva vrednosti. Stikalo je.

--language -l

Jezik, ki ga želite uporabiti za ustvarjeno kodo proxy. Ta vrednost je lahko »CS« ali »VB«. Privzeti jezik je »CS«.

--logLevel -ll

Raven dnevnika. Privzeta vrednost je »Izklopljeno«.

Uporabite eno od teh vrednosti:

  • Off
  • Critical
  • Error
  • Warning
  • Information
  • Verbose
  • ActivityTracing
  • All

--messagenamesfilter -mnf

Filtrira seznam sporočil, ki so pridobljena pri branju podatkov iz storitve Dataverse. Posredovano kot seznam, ločen s podpičjem, obvezna sporočila (Ustvari, Posodobi, Izbriši, Pridobi, RetrieveMultiple, Poveži in prekinja) so vedno vključena. Uporabite končno ali začetno zvezdico (*) z imeni sporočil, da omogočite vsa sporočila, ki se začenjajo z nizom ali končajo z nizom. Uporaba obrazca <messagename>;<ime sporočila>.

--messagestypesfolder -mtf

Ime mape, ki vsebuje sporočila. Privzeto ime je »Sporočila«.

--namespace -n

Imenski prostor za ustvarjeno kodo. Privzeti imenski prostor je globalni imenski prostor.

--optionsetstypesfolder -otf

Ime mape, ki vsebuje nabore možnosti. Privzeto ime je »OptionSets«.

--serviceContextName -sctx

Ime ustvarjenega konteksta storitve. Če je vrednost posredovana, je uporabljena za kontekst storitve. Če ni, se ne ustvari noben kontekst storitve.

--settingsTemplateFile -stf

Vsebuje nastavitve, ki bodo uporabljene za ta zagon graditelja podatkovnega modela, preglasi morebitne podvojene parametre v ukazni vrstici. Ni mogoče nastaviti, kdaj se uporablja »-writesettingstemplate«.

--suppressGeneratedCodeAttribute -sgca

Ko je nastavitev nastavljena, preprečite, da bi se vsi ustvarjeni predmeti označili z mehanizmom za ustvarjanje kode in različico

Ta parameter ne zahteva vrednosti. Stikalo je.

--suppressINotifyPattern

Ko je omogočena, ne piše zavijalcev »INotify« za lastnosti in razrede.

--writesettingsTemplateFile -wstf

Ko je nastavitev nastavljena, zapiše datoteko z nastavitvami v izhodni imenik s trenutnimi poslanimi nastavitvami ali privzetimi nastavitvami.

Pripombe

Spodaj so priporočila za uporabo ukaza pac modelbuilder build .

Nastavitev in entitynamesfilter parametrov messagenamesfilter

Pozor

Močno priporočamo, da s parametroma entitynamesfilter in messagenamesfilter omejite ustvarjene datoteke na tiste, ki jih boste uporabili v projektu. V nasprotnem primeru bo ukaz za graditev poskusil ustvariti kodo za vse tabele in sporočila iz storitve Dataverse. To bo trajalo veliko časa za obdelavo.

Razredi za sporočila, najdena v imenskem prostoru Microsoft.Crm.Sdk.Messages in Microsoft.Xrm.Sdk.Messages , niso ustvarjeni s tem ukazom. V parameter vključite le sporočila, ki jih tam ni messagenamesfilter mogoče najti, na primer dejanja po meri.

Nastavite suppressINotifyPattern , če ne ustvarjate programa WPF

Zavijalniki INotify , ki jih onemogoči ta ukaz, se uporabljajo za scenarije stikala podatkov z aplikacijami WPF. Če ne ustvarjate programa WPF z ustvarjeno kodo, je ne potrebujete. Uporabite parameter suppressINotifyPattern , da jih preprečite.

Vključi pri serviceContextName ustvarjanju razredov sporočil

Če ustvarjate razrede sporočil, morate vedno vključiti parameter OrganizationServiceContext, da ustvarite , tudi če ga ne uporabljate. Ustvarjeni razredi sporočil zahtevajo nabor lastnosti v tej datoteki. Preberite več o napaki, do katere pride, če tega ne nastavite.

Glej tudi

Microsoft Power Platform CLI Command Groups
Pregled okolja Microsoft Power Platform CLI