opomba,
Dostop do te strani zahteva pooblastilo. Poskusite se vpisati alispremeniti imenike.
Dostop do te strani zahteva pooblastilo. Poskusite lahko spremeniti imenike.
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:
- Late-bound and early-bound programming using the Organization service
- Uporabi »OrganizationServiceContext«
- Ustvarjanje poizvedb s storitvijo LINQ
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:
OffCriticalErrorWarningInformationVerboseActivityTracingAll
--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