Jagamisviis:


pac modelbuilder

Dataverse API-de ja tabelite koodigeneraator

Käsu pac modelbuilder build abil saate luua varases vormingus .NET-klassid Dataverse'i tabelite, kohandatud sõnumite ja Klassi OrganizationServiceContext Class põhjal tuletatud klassi jaoks. Lisateave selle käsu kasutamise kohta varases köites klasside loomiseks

Klass, mis on tuletatud:OrganizationServiceContext

  • Säilitab kliendi oleku, et toetada funktsioone (nt muudatuste haldus).
  • Juurutab System.Linq.IQueryable Interface'i ja .NET Language-Integrated-i päringu (LINQ) pakkuja, et saaksite LINQ-päringuid dataverse'i andmete abil kirjutada.

Lisateavet selle koodi genereerimise tööriista võimaluste kohta leiate järgmistest võimalustest.

Märkus.

Käsk pac modelbuilder build asendab CrmSvcUtil.exe jagatud paketiga Microsoft.CrmSdk.CoreTools NuGet.

Käsud

Käsk Kirjeldus
pac modelbuilder build Loob dataverse API-de ja tabelite jaoks koodimudeli

pac modelbuilder build

Loob dataverse API-de ja tabelite jaoks koodimudeli

Märkus.

Käsu kasutamiseks build peate esmalt looma autentimisepac loomise käsu abil ühenduse Dataverse'iga. Kui teil on mitu ühendust, valige autentimisvalikupac abil Dataverse'i keskkond, mille jaoks soovite koodi luua.

Näide

Järgmises näites build kirjeldatakse käsu kasutamist käsuviibaga.

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

Ja sama käsk PowerShelli abil:

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

Oluline

PowerShelli kasutamisel tuleb stringiparameetrid ümbritseda ülakomadega.

Selle käsu tulem on see, et kausta kirjutatakse c:\src\MyApps\Model järgmised failid.

C:\src\MyApps\Model\
|---Üksused\
| |--account.cs
| |--contact.cs
|---Suvandikomplektid\
| |--addresstypes.cs
|---Sõnumid\
| |--examp_myapi.cs
|---EntityOptionSetEnum.cs
|---builderSettings.json
|---OrgContext.cs

builderSettings.json sisaldab käsu jaoks määratud parameetreid. Saate seda kasutada failide kiireks genereerimiseks asjade muutumisel. Järgmises näites on kujutatud esimese käsu põhjal loodud buildersettings.json faili kasutamine sättega SettingsTemplateFile:

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

Samuti saate valida, kas luua builderSettings.json fail ja kasutada seda kõigi parameetrite käsule edastamise asemel. Järgmine näide on samaväärne esimese ülaltoodud näitega:

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

Kui edastate parameetreid settingsTemplateFile kasutades käsule parameetreid, alistavad käsule edastatud parameetrid failis builderSettings.json määratud parameetrid.

Parameetrit settingsTemplateFile ja parameetrit writesettingsTemplateFile ei saa korraga kasutada.

Nõutavad parameetrid: modelbuilder build

--outdirectory -o

Olemi-, sõnumi- ja suvanditekomplektifailide kataloogi kirjutamine.

Valikulised parameetrid: modelbuilder build

--emitentityetc -etc

Kui see on määratud, kaasatakse genereeritud koodi olem ETC ( olemi tüübi kood).

See parameeter ei vaja väärtust. See on lüliti.

--emitfieldsclasses -efc

Saate luua konstantide struktuuri, mis sisaldab kõiki väljanimesid olemi järgi koodi loomise ajal.

See parameeter ei vaja väärtust. See on lüliti.

--emitvirtualattributes -eva

Kui see on seatud, kaasatakse otsingute tuginimeatribuudid, mis võimaldavad filtreerimist otsinguatribuutide esmase nime atribuutide väärtuste alusel.

See parameeter ei vaja väärtust. See on lüliti.

--entitynamesfilter -enf

Filtreerib olemite loendi, mis tuuakse andmete lugemisel andmevaatest. Edastatud semikooloniga eraldatud loendina. Kasutades vormi <entitylogicalname>;<entitylogicalname>

--entitytypesfolder -etf

Olemeid sisaldav kaustanimi. Vaikenimi on Olemid.

--environment -env

Määrab sihtandmekanali. Väärtus võib olla GUID või absoluutne HTTPS-i URL. Kui seda pole määratud, kasutatakse praeguse autentimisprofiili jaoks valitud aktiivset organisatsiooni.

--generateGlobalOptionSets -go

Eraldage kõik globaalsed suvandikomplektid. Märkus. Kui olem sisaldab viidet globaalsele suvandikomplektile, väljastatakse see ka siis, kui seda lülitit pole olemas.

--generatesdkmessages -a

Kui see on määratud, kiirgab Sdk-sõnumi klassid koodi loomise osana.

See parameeter ei vaja väärtust. See on lüliti.

--language -l

Genereeritud puhverserveri koodi jaoks kasutatav keel. See väärtus võib olla kas CS või VB. Vaikekeel on CS.

--logLevel -ll

Logitase. Vaikeväärtus on Väljas.

Kasutage ühte järgmistest väärtustest.

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

--messagenamesfilter -mnf

Filtreerib nende sõnumite loendi, mis tuuakse dataverse'ist andmete lugemisel. Edastatud semikooloniga eraldatud loendina, kaasatakse alati nõutavad sõnumid (loomine, värskendamine, kustutamine, toomine, toomine, toomine, seostamine ja lahutamine). Kasutage lõpu- või eestärni (*) koos sõnumite nimedega, et lubada kõigi stringiga algavate või lõppevate sõnumite korral. Vormi <sõnuminimi> kasutamine;<messagename>.

--messagestypesfolder -mtf

Kausta nimi, mis sisaldab sõnumeid. Vaikenimi on Sõnumid.

--namespace -n

Loodud koodi nimeruum. Vaikenimeruum on globaalne nimeruum.

--optionsetstypesfolder -otf

Suvandikomplekte sisaldav kaustanimi. Vaikenimi on OptionSets.

--serviceContextName -sctx

Loodud teenusekonteksti nimi. Kui väärtus edastatakse, kasutatakse seda teenusekonteksti jaoks. Vastasel korral teenusekonteksti ei genereerita.

--settingsTemplateFile -stf

Sisaldab andmemudelikoosturi selle käituse jaoks kasutatavaid sätteid, alistab käsureal kõik dubleeritud parameetrid. --writesettingstemplate'i kasutamisel ei saa seda määrata.

--suppressGeneratedCodeAttribute -sgca

Kui see on seatud, tõkestab see kõigi genereeritud objektide sildistamise koodigenereerimise mootori ja versiooniga

See parameeter ei vaja väärtust. See on lüliti.

--suppressINotifyPattern

Kui see on lubatud, ei kirjutata atribuutide ja klasside INotify mähkijaid.

--writesettingsTemplateFile -wstf

Kui see on määratud, kirjutab sätete faili väljundkausta praeguste edastatud sätete või vaikesätetega.

Märkused

Käsu kasutamiseks pac modelbuilder build on järgmised soovitused.

Parameetrite entitynamesfilter ja messagenamesfilter seadmine

Hoiatus

Soovitame tungivalt kasutada parameetreid entitynamesfilter ja messagenamesfilter , et piirata loodud faile nendega, mida te oma projektis kasutate. Vastasel juhul proovib järgu käsk luua koodi kõigi Dataverse'i tabelite ja sõnumite jaoks. Selle töötlemiseks kulub palju aega.

Microsoft.Crm.Sdk.Messages ja Microsoft.Xrm.Sdk.Messages nimeruumis leiduvate sõnumite klassid ei genereerita selle käsu abil. Peaksite kaasama ainult parameetris mitteleidnud messagenamesfilter teated (nt kohandatud toimingud).

Määrake suppressINotifyPattern , kui te ei koosta WPF-rakendust

Selle INotify käsuga tõkestatud mähkijaid kasutatakse WPF-rakendustega seotud andmete sidumiseks. Kui te ei koosta genereeritud koodiga WPF-rakendust, ei vaja te neid. Kasutage parameetrit suppressINotifyPattern nende tõkestamiseks.

Kaasa serviceContextName sõnumiklasside loomisel

Kui loote sõnumiklasse, peaksite alati lisama parameetri serviceContextName genereerimiseks OrganizationServiceContext, isegi kui te seda ei kasuta. Loodud sõnumiklassid nõuavad selles failis atribuudikomplekti. Lugege lisateavet tõrke kohta, mis ilmneb, kui te seda ei määra.

Vaata ka

Microsoft Power Platform CLI käsurühmad
Microsoft Power Platform CLI ülevaade