Partekatu bidez


pac modelbuilder

Dataverse-ren APIen eta taulen kode-sortzailea

Erabili komandoa pac modelbuilder build Dataverse-ren tauletarako, mezu pertsonalizatuetarako eta OrganizationServiceContext klasetik eratorritako klase goiztiarretarako .NET klaseak sortzeko. Ikasi gehiago komando hau erabiltzeari buruz lotutako klaseak sortzeko

Honako hauetatik OrganizationServiceContexteratorritako klasea:

  • Bezeroaren egoera mantentzen du aldaketaren kudeaketa bezalako ezaugarriak onartzeko.
  • System.Linq.IQueryable interfazea eta .NET Language-Integrated kontsulta hornitzailea (LINQ) inplementatzen ditu, LINQ kontsultak idatzi ahal izateko Dataverse datuak erabiliz.

Kodea sortzeko tresna honek gaitzen dituen gaitasunei buruzko informazio gehiago nahi izanez gero:

Oharra

Komandoak pac modelbuilder build distributed CrmSvcUtil.exe NuGet paketearekin ordezkatzen du.

Komandoak

Komandoa Deskribapena
pac modelbuilder build Dataverse APIetarako eta tauletarako kode-eredu bat eraikitzen du

pac modelbuilder build

Dataverse APIetarako eta tauletarako kode-eredu bat eraikitzen du

Oharra

Komandoa build erabili aurretik, lehenik eta behin Dataverse-ra konektatu behar duzu auth create komandoapac erabiliz. Konexio anitz badituzu, erabili pac auth hautapena kodea sortu nahi duzun Dataverse ingurunea aukeratzeko.

Adibidea

Ondorengo adibidean komandoa build komando-gonbita batekin nola erabili erakusten da.

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

PowerShell erabiliz komando bera:

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

Garrantzitsua da

Kate-parametro guztiak koma bakunekin inguratu behar dituzu PowerShell erabiltzerakoan.

Komando honen emaitza da ondorengo fitxategiak karpetan idazten c:\src\MyApps\Model direla.

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

builderSettings.json komandoarentzat zehaztutako parametroak ditu. Fitxategiak azkar birsortzeko erabil dezakezu gauzak aldatzen diren heinean. Ondorengo adibidean erakusten da lehenengo komandotik sortutako buildersettings.json fitxategia erabiltzea settingsTemplateFile erabiliz:

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

Fitxategi bat builderSettings.json sortu eta hori erabiltzea ere aukeratu dezakezu, parametro guztiak komandoari pasatu beharrean. Hona hemen goiko lehenengo adibidearen baliokidea:

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

Komandoari parametroak pasatzen badizkiozu settingsTemplateFile parametroa erabiltzen duzun bitartean, komandoari emandako parametroek fitxategian builderSettings.json ezarritakoak gainidatziko dituzte.

Ezin dituzu settingsTemplateFile parametroa eta writesettingsTemplateFile parametroa aldi berean erabili.

Beharrezko parametroak honako modelbuilder build

--outdirectory -o

Idatzi entitate, mezu eta aukera-multzo fitxategien direktorioa.

Aukerako parametroak modelbuilder build

--emitentityetc -etc

Ezartzen denean, ETC entitatea (entitate motaren kodea) sartzen du sortutako kodean.

Parametro honek ez du baliorik behar. Aldaketa bat da.

--emitfieldsclasses -efc

Kodea sortzeko unean entitatearen araberako eremuen izen guztiak biltzen dituen konstanteen egitura sortu behar du.

Parametro honek ez du baliorik behar. Aldaketa bat da.

--emitvirtualattributes -eva

Ezartzen denean, bilaketa-atributuen izen atributu nagusien balioetan iragaztea ahalbidetzen duten bilaketen izen-atributuak onartzen ditu.

Parametro honek ez du baliorik behar. Aldaketa bat da.

--entitynamesfilter -enf

Dataverse-ko datuak irakurtzean eskuratzen diren entitateen zerrenda iragazten du. Zerrenda bat bezala pasatzen da, puntu eta koma bakoitzeko bereizia. Entitylogicalname< inprimakia >erabiliz;<entitateizenlogikoa>

--entitytypesfolder -etf

Entitateak dituen karpetaren izena. Izen lehenetsia 'Entitateak' da.

--environment -env

Helburuko Dataverse-a zehazten du. Balioa Guid edo https URL absolutua izan daiteke. Zehaztu ezean, uneko autentifikazio-profilerako hautatutako erakunde aktiboa erabiliko da.

--generateGlobalOptionSets -go

Aukera multzo orokorra igortzen du. Oharra: entitate batek aukera-multzo global baten erreferentzia badu, etengailu hori ez badago ere igortzen da.

--generatesdkmessages -a

Ezartzen denean, Sdk mezu-klaseak igortzen ditu kodearen sorkuntzaren zati gisa.

Parametro honek ez du baliorik behar. Aldaketa bat da.

--language -l

Sortutako proxy kodean erabili beharreko hizkuntza. Balio hau "CS" edo "VB" izan daiteke. Hizkuntza lehenetsia "CS" da.

--logLevel -ll

Egunkari-maila. Balio lehenetsia 'Off' da.

Erabili balio hauetako bat:

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

--messagenamesfilter -mnf

Dataverse-ko datuak irakurtzean eskuratzen diren mezuen zerrenda iragazten du. Puntu eta komaz bereizitako zerrenda gisa pasatuz, beharrezko mezuak (Sortu, Eguneratu, Ezabatu, Eskuratu, Berreskuratu multiploa, Elkartu eta Desasoziatu) beti sartzen dira. Erabili amaierako edo hasierako izartxoa (*) mezuen izenekin, kate batekin hasi edo horrekin amaitzen diren mezu guztiak baimentzeko. Inprimakia <erabiltzea: mezua-izena;><mezu-izena>.

--messagestypesfolder -mtf

Mezuak dituen karpetaren izena. Izen lehenetsia 'Mezuak' da.

--namespace -n

Sortutako koderako izenen espazioa. Izen-espazio lehenetsia izen-espazio orokorra da.

--optionsetstypesfolder -otf

Aukera multzoak dituen karpetaren izena. Izen lehenetsia 'OptionSets' da.

--serviceContextName -sctx

Sortutako zerbitzuaren testuinguruaren izena. Balio bat pasatzen bada, zerbitzuaren testuinguruan erabiltzen da. Hala ez bada, ez da zerbitzu-testuingururik sortuko.

--settingsTemplateFile -stf

Dataverse Model Builder-en exekuzio honetarako erabili beharreko ezarpenak ditu, komando-lerroko parametro bikoiztuak gainidazten ditu. Ezin da ezarri --writesettingstemplate erabiltzen denean.

--suppressGeneratedCodeAttribute -sgca

Ezartzen denean, kodea sortzeko motorrarekin eta bertsioarekin etiketatuta dauden sortutako objektu guztiak ezabatzen ditu

Parametro honek ez du baliorik behar. Aldaketa bat da.

--suppressINotifyPattern

Gaituta dagoenean, ez ditu propietateen eta klaseen INotify bilgarriak idazten.

--writesettingsTemplateFile -wstf

Ezartzen denean, ezarpen-fitxategi bat irteerako direktorioan idazten du, uneko ezarpenekin edo ezarpen lehenetsiekin.

Oharrak

Hona hemen komandoa pac modelbuilder build erabiltzeko gomendioak.

Ezarri eta entitynamesfilter parametroak messagenamesfilter

Kontuz

Biziki gomendatzen dizugu entitynamesfilter eta messagenamesfilter parametroak erabiltzea, sortutako fitxategiak proiektuan erabiliko dituzunetara mugatzeko. Bestela, build komandoa Dataverse-ko taula eta mezu guztietarako kodea sortzen saiatuko da. Horrek denbora asko beharko du prozesatzeko.

Microsoft.Crm.Sdk.Messages eta Microsoft.Xrm.Sdk.Messages izen-espazioan aurkitutako mezuen klaseak ez dira komando hau erabiliz sortzen. Parametroan messagenamesfilter aurkitzen ez diren mezuak soilik sartu beharko zenituzke, adibidez, ekintza pertsonalizatuak.

Ezarri suppressINotifyPattern WPF aplikazio bat eraikitzen ari ez bazara

Komando INotify honek ezabatzen dituen bilgarriak WPF aplikazioekin datuak lotzeko eszenatokietarako erabiltzen dira. Sortutako kodearekin WPF aplikazio bat eraikitzen ari ez bazara, ez dituzu behar. Erabili suppressINotifyPattern parametroa horiek ezabatzeko.

Sartu serviceContextName mezu-klaseak sortzean

Mezu-klaseak sortzen ari bazara, serviceContextName parametroa OrganizationServiceContextsartu beharko zenuke beti, nahiz eta erabiltzen ez duzun. Sortutako mezu-klaseek propietate bat ezarri behar dute fitxategi honetan. Informazio gehiago hau ezartzen ez baduzu gertatzen den erroreari buruz.

Ikus ere

Microsoft Power Platform-en CLI komando-taldeak
Microsoft Power Platform-en CLI ikuspegi orokorra