Nata
Norint pasiekti šį puslapį, reikalingas leidimas. Galite pabandyti prisijungti arba pakeisti katalogus.
Norint pasiekti šį puslapį, reikalingas leidimas. Galite pabandyti pakeisti katalogus.
"Dataverse" API ir lentelių kodų generatorius
Naudokite komandą pac modelbuilder build , kad sugeneruotumėte "Dataverse" lentelių, pasirinktinių pranešimų ir klasės, išvestos iš OrganizationServiceContext klasės, ankstyvąsias .NET klases. Sužinokite daugiau apie šios komandos naudojimą generuojant ankstyvas susietas klases
Klasė, išvesta iš OrganizationServiceContext:
- Palaiko kliento būseną, kad palaikytų tokias funkcijas kaip keitimų valdymas.
- Įdiegia System.Linq.IQueryable sąsają ir .NET Language-Integrated užklausos (LINQ) užklausų teikėją, kad galėtumėte rašyti LINQ užklausas naudodami "Dataverse" duomenis.
Daugiau informacijos apie galimybes, kurias įgalina šis kodo generavimo įrankis:
- Pavėluotas ir ankstyvasis programavimas naudojant organizacijos tarnybą
- Naudoti OrganizationServiceContext
- Užklausų kūrimas naudojant LINQ
Pastaba.
Komanda pac modelbuilder build pakeičia išplatintą CrmSvcUtil.exepaketą Microsoft.CrmSdk.CoreTools NuGet.
Komandas
| Command | Apibūdinimas |
|---|---|
| pac modelbuilder build | Sukuria "Dataverse" API ir lentelių kodo modelį |
pac modelbuilder build
Sukuria "Dataverse" API ir lentelių kodo modelį
Pastaba.
Kad galėtumėte naudoti komandą, build pirmiausia turite prisijungti prie "Dataverse" naudodami autentifikavimopac kūrimo komandą. Jei turite kelis ryšius, naudodami autentifikavimąpac pasirinkite "Dataverse" aplinką, kurioje norite sugeneruoti kodą.
Pavyzdžiui
Toliau pateiktame pavyzdyje parodyta, kaip naudoti komandą build su komandine eilute.
pac modelbuilder build ^
--entitynamesfilter account;contact ^
--generatesdkmessages ^
--messagenamesfilter examp_* ^
--emitfieldsclasses ^
--emitVirtualAttributes ^
--namespace MyApps.Model ^
--outdirectory c:\src\MyApps\Model ^
--writesettingsTemplateFile ^
--serviceContextName OrgContext
Ir ta pati komanda naudojant "PowerShell":
pac modelbuilder build `
--entitynamesfilter 'account;contact' `
--generatesdkmessages `
--messagenamesfilter 'examp_*' `
--emitfieldsclasses `
--emitVirtualAttributes `
--namespace 'MyApps.Model' `
--outdirectory 'c:\src\MyApps\Model' `
--writesettingsTemplateFile `
--serviceContextName 'OrgContext'
Svarbu
Naudojant "PowerShell", visus eilučių parametrus reikia išskirti viengubomis kabutėmis.
Šios komandos rezultatas yra tas, kad šie failai įrašomi į c:\src\MyApps\Model aplanką.
C:\src\MyApps\Model\
|---Subjektai\
| |--account.cs
| |--contact.cs
|---OptionSets\
| |--addresstypes.cs
|---Pranešimai\
| |--examp_myapi.cs
|---EntityOptionSetEnum.cs
|---builderSettings.json
|---OrgContext.cs
builderSettings.json yra nurodyti komandos parametrai. Jį galite naudoti norėdami greitai iš naujo sugeneruoti failus pasikeitus dalykams. Toliau pateiktame pavyzdyje pavaizduotas sugeneruotas buildersettings.json failas iš pirmosios komandos naudojant settingsTemplateFile:
pac modelbuilder build `
--outdirectory c:\src\MyApps\Model `
--settingsTemplateFile c:\src\MyApps\Model\builderSettings.json
Taip pat galite pasirinkti sukurti builderSettings.json failą ir naudoti, o ne perduoti visus parametrus į komandą. Toliau pateiktas pavyzdys, atitinkantis pirmąjį aukščiau pateiktą pavyzdį:
{
"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
}
Jei perkelsite parametrus į komandą naudodami parametrą settingsTemplateFile , komandai perduoti parametrai perrašys faile nustatytus builderSettings.json parametrus.
Vienu metu negalite naudoti parametro settingsTemplateFile ir writesettingsTemplateFile .
Būtini parametrai modelbuilder build
--outdirectory
-o
Rašyti objekto, pranešimo ir parinkčių rinkinio failų katalogą.
Pasirinktiniai parametrai, skirti modelbuilder build
--emitentityetc
-etc
Kai nustatyta, į sugeneruotą kodą įtraukia subjektą ETC (objekto tipo kodą).
Šiam parametrui nereikia reikšmės. Tai jungiklis.
--emitfieldsclasses
-efc
Generuoti konstantų struktūrą, kurioje yra visi laukų pavadinimai pagal objektą kodo generavimo metu.
Šiam parametrui nereikia reikšmės. Tai jungiklis.
--emitvirtualattributes
-eva
Kai nustatyta, apima peržvalgos, kurios įgalina peržvalgos atributų pirminių atributų reikšmių filtravimą, palaikymo pavadinimo atributus.
Šiam parametrui nereikia reikšmės. Tai jungiklis.
--entitynamesfilter
-enf
Filtruoja objektų sąrašą, nuskaitomą skaitant duomenis iš "Dataverse". Perduodamas kaip kabliataškiu atskirtas sąrašas. Using the form <entitylogicalname>;<entitylogicalname>
--entitytypesfolder
-etf
Aplanko pavadinimas, kuriame yra objektų. Numatytasis pavadinimas yra "Subjektai".
--environment
-env
Nurodo tikslinį "Dataverse". Reikšmė gali būti GUID arba absoliutus https URL. Jei nenurodyta, bus naudojama aktyvi organizacija, pasirinkta dabartiniam autentifikavimo profiliui.
--generateGlobalOptionSets
-go
Praleisti visus visuotinius parinkčių rinkinius. Pastaba: jei objekte yra nuoroda į visuotinį parinkčių rinkinį, jis praleidžiamas, net jei šio perjungimo nėra.
--generatesdkmessages
-a
Kai nustatyta, kaip kodo generavimo dalis išleidžia SDK pranešimų klases.
Šiam parametrui nereikia reikšmės. Tai jungiklis.
--language
-l
Sugeneruoto tarpinio serverio kodo kalba. Ši reikšmė gali būti CS arba VB. Numatytoji kalba yra CS.
--logLevel
-ll
Žurnalo lygis. Numatytoji reikšmė yra Išjungta.
Naudokite vieną iš šių reikšmių:
OffCriticalErrorWarningInformationVerboseActivityTracingAll
--messagenamesfilter
-mnf
Filtruoja laiškų, nuskaitytų skaitant duomenis iš "Dataverse", sąrašą. Perduoti kaip kabliataškiais atskirtų laiškų sąrašas, būtini laiškai (Kurti, Naujinti, Naikinti, Nuskaityti, Gautidaugelio, Susieti ir Atsieti) visada įtraukiami. Su laiškų pavadinimais naudokite žvaigždutę (*) pabaigoje arba pradžioje, kad būtų leidžiami visi laiškai, prasidedantys eilute arba baigianti eilute. Naudojant formos <pranešimo pavadinimą>;<pranešimo pavadinimas>.
--messagestypesfolder
-mtf
Aplanko, kuriame yra pranešimų, pavadinimas. Numatytasis pavadinimas yra Pranešimai.
--namespace
-n
Sugeneruoto kodo vardų sritis. Numatytoji vardų sritis yra visuotinė vardų sritis.
--optionsetstypesfolder
-otf
Aplanko pavadinimas, kuriame yra parinkčių rinkiniai. Numatytasis pavadinimas yra OptionSets.
--serviceContextName
-sctx
Sugeneruoto tarnybos konteksto pavadinimas. Jei reikšmė perduodama, ji naudojama tarnybos kontekste. Jei ne, negeneruojamas joks tarnybos kontekstas.
--settingsTemplateFile
-stf
Yra parametrų, kurie bus naudojami šiam "Dataverse" modelio daryklės paleidimui, perrašo visus pasikartojančius parametrus komandų eilutėje. Negalima nustatyti, kai naudojamas --writesettingstemplate.
--suppressGeneratedCodeAttribute
-sgca
Kai nustatyta, nerodyti visų sugeneruotų objektų, pažymėtų kodo generavimo moduliu ir versija
Šiam parametrui nereikia reikšmės. Tai jungiklis.
--suppressINotifyPattern
Įgalinus, nerašo ypatybių ir klasių "INotify" aplanko.
--writesettingsTemplateFile
-wstf
Kai nustatyta, parametrų failą įrašo išvesties kataloge naudodamas dabartinius perduotus parametrus arba numatytuosius parametrus.
Pastabos
Toliau pateikiamos rekomendacijos, kaip naudoti komandą pac modelbuilder build .
entitynamesfilter Parametrų ir messagenamesfilter nustatymas
Perspėjimas
Primygtinai rekomenduojame naudoti entitynamesfilter ir messagenamesfilter parametrus, kad apribotumėte sugeneruotus failus iki tų, kuriuos naudosite projekte. Kitu atveju komponavimo versija bandys sugeneruoti kodą visoms lentelėms ir pranešimams iš "Dataverse". Tai užims daug laiko apdoroti.
Microsoft.Crm.Sdk.Messages ir Microsoft.Xrm.Sdk.Messages vardų srityje rastų pranešimų klasės negeneruojamos naudojant šią komandą. Į parametrą messagenamesfilter turėtumėte įtraukti tik ten nerastus pranešimus, pvz., pasirinktinius veiksmus.
Nustatyti suppressINotifyPattern , jei nekuriate WPF programos
Šios INotify komandos nerodyti aplanko įrankiai naudojami duomenų susiejimo scenarijams su WPF programomis. Jei nesukuriate WPF programos naudodami sugeneruotą kodą, jų nereikia. Naudokite suppressINotifyPattern parametrą, kad jie būtų nerodyti.
Įtraukti serviceContextName generuojant pranešimų klases
Jei generuojate pranešimų klases, visada turite įtraukti parametrą serviceContextName , kad sugeneruotumėte OrganizationServiceContext, net jei jo nenaudojate. Sugeneruotų pranešimų klasėms reikia šiame faile nustatytų ypatybių. Sužinokite daugiau apie klaidą, kuri įvyksta, jei jos nenustatysite.
Taip pat žr.
"Microsoft Power Platform" CLI komandų grupės
"Microsoft Power Platform" CLI apžvalga