Zdieľať cez


pac modelbuilder

Generátor kódov pre rozhrania Dataverse API a tabuľky

pac modelbuilder build Pomocou príkazu môžete vygenerovať triedy .NET s včasnou väzbou pre tabuľky Dataverse, vlastné správy a triedu odvodenú z triedy OrganizationServiceContext. Ďalšie informácie o používaní tohto príkazu na generovanie tried s včasnou väzbou

Trieda odvodená z OrganizationServiceContext:

  • Udržiava stav na klientovi na podporu funkcií, ako je napríklad správa zmien.
  • Implementuje rozhranie System.Linq.IQueryable Interface a poskytovateľa dotazov .NET Language-Integrated Query (LINQ), aby ste mohli napísať dotazy LINQ pomocou údajov Dataverse.

Ďalšie informácie o možnostiach, ktoré tento nástroj na generovanie kódu umožňuje:

Poznámka

Príkaz pac modelbuilder build nahradí distribuovanú CrmSvcUtil.exe balíkom Microsoft.CrmSdk.CoreTools NuGet.

Príkazy

Príkaz Description
pac modelbuilder build Vytvorí model kódu pre rozhrania API a tabuľky Dataverse

pac modelbuilder build

Vytvorí model kódu pre rozhrania API a tabuľky Dataverse

Poznámka

Pred použitím build príkazu sa musíte najprv pripojiť k službe Dataverse pomocou pac príkazu auth create . Ak máte viacero pripojení, pomocou overeniapac vyberte prostredie Dataverse, pre ktoré chcete generovať kód.

Príklad

Nasledujúci príklad ukazuje, ako používať build príkaz s príkazovým riadkom.

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

A rovnaký príkaz pomocou prostredia PowerShell:

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

Dôležité

Pri používaní prostredia PowerShell je potrebné uzavrieť všetky parametre reťazca jednoduchými úvodzovkami.

Výsledkom tohto príkazu je, že do priečinka sa zapíšu c:\src\MyApps\Model nasledujúce súbory.

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

builderSettings.json obsahuje parametre, ktoré ste zadali pre príkaz. Môžete ju použiť na rýchle znovuzgenerovanie súborov pri zmene. Nasledujúci príklad znázorňuje použitie vygenerovaného buildersettings.json súboru z prvého príkazu pomocou súboru settingsTemplateFile:

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

Môžete sa tiež rozhodnúť vytvoriť builderSettings.json súbor a použiť ho namiesto odovzdania všetkých parametrov do príkazu. Nasleduje príklad, ktorý je ekvivalentom prvého príkladu vyššie:

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

Ak odovzdáte parametre do príkazu počas používania parametra settingsTemplateFile , parametre odovzdané príkazu prepíšu builderSettings.json tie, ktoré sú nastavené v súbore.

Naraz nie je možné použiť parameter settingsTemplateFile ani parameter writesettingsTemplateFile .

Povinné parametre pre modelbuilder build

--outdirectory -o

Zapíšte adresár pre súbory entity, správy a množiny možností.

Voliteľné parametre pre modelbuilder build

--emitentityetc -etc

Ak je nastavená, do vygenerovaného kódu zahrnuje entitu ETC ( kód typu entity ).

Tento parameter nevyžaduje žiadnu hodnotu. Je to prepínač.

--emitfieldsclasses -efc

Vygenerujte štruktúru konštátov, ktorá obsahuje všetky názvy polí podľa entity v čase generovania kódu.

Tento parameter nevyžaduje žiadnu hodnotu. Je to prepínač.

--emitvirtualattributes -eva

Ak je nastavená, obsahuje podporné atribúty názvu pre vyhľadávania, ktoré umožňujú filtrovanie podľa hodnôt atribútov primárneho názvu vyhľadávacích atribútov.

Tento parameter nevyžaduje žiadnu hodnotu. Je to prepínač.

--entitynamesfilter -enf

Filtruje zoznam entít pri čítaní údajov z platformy Dataverse. Odovzdané ako zoznam oddelený bodkočiarkou. pomocou entity<;><entitylogicalname>

--entitytypesfolder -etf

Názov priečinka, ktorý obsahuje entity. Predvolený názov je Entity.

--environment -env

Určuje cieľovú hodnotu Dataverse. Hodnotou môže byť identifikátor GUID alebo absolútna URL adresa protokolu https. Ak nie je určené, použije sa aktívna organizácia vybratá pre aktuálny profil overenia.

--generateGlobalOptionSets -go

Emitovať všetky globálne množiny možností. Poznámka: Ak entita obsahuje odkaz na globálnu množinu možností, vynechá sa aj vtedy, ak tento prepínač nie je prítomný.

--generatesdkmessages -a

Keď je nastavená, vygeneruje triedy správ súpravy SDK ako súčasť generovania kódu.

Tento parameter nevyžaduje žiadnu hodnotu. Je to prepínač.

--language -l

Jazyk, ktorý sa má použiť pre vygenerovaný kód servera proxy. Táto hodnota môže byť buď CS, alebo VB. Predvoleným jazykom je CS.

--logLevel -ll

Úroveň denníka. Predvolená hodnota je Vypnuté.

Použite jednu z týchto hodnôt:

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

--messagenamesfilter -mnf

Filtruje zoznam správ, ktoré sa načítajú pri čítaní údajov z platformy Dataverse. Odovzdané do zoznamu oddeleného bodkočiarkami sú vždy zahrnuté požadované hlásenia (Vytvoriť, Aktualizovať, Odstrániť, Načítať, RetrieveMultiple, Associate a Zrušiť priradenie). Ak chcete povoliť všetky správy začínajúce reťazcom alebo končiace reťazcom, použite koncovú alebo úvodnú hviezdičku (*) s názvami správ. používanie názvu< správy formulára>;<názovsprávy>.

--messagestypesfolder -mtf

Názov priečinka, ktorý obsahuje správy. Predvolený názov je Správy.

--namespace -n

Priestor názvov pre vygenerovaný kód. Predvoleným priestorom názvov je globálny priestor názvov.

--optionsetstypesfolder -otf

Názov priečinka, ktorý obsahuje množiny možností. Predvolený názov je "Množiny možností".

--serviceContextName -sctx

Názov vygenerovaného kontextu služby. Ak je hodnota odovzdaná, použije sa v kontexte služby. Ak nie, nevygeneruje sa žiadny kontext služby.

--settingsTemplateFile -stf

Obsahuje nastavenia, ktoré sa majú použiť na toto spustenie Zostavovača modelu Dataverse, prepíše všetky duplicitné parametre v príkazovom riadku. Nie je možné nastaviť, keď sa používa adresa --writesettingstemplate.

--suppressGeneratedCodeAttribute -sgca

Keď je nastavená, potlačí sa tým hodnota všetkých generovaných objektov, ktoré boli označené motorom a verziou generovania kódu.

Tento parameter nevyžaduje žiadnu hodnotu. Je to prepínač.

--suppressINotifyPattern

Ak je táto možnosť povolená, nezapisuje wrapper funkcie INotify pre vlastnosti a triedy.

--writesettingsTemplateFile -wstf

Pri nastavení zapíše súbor s nastaveniami do výstupného adresára s aktuálnymi prijatými nastaveniami alebo predvolenými nastaveniami.

Poznámky

Nižšie sú uvedené odporúčania na použitie pac modelbuilder build príkazu .

entitynamesfilter Nastavenie parametrov a messagenamesfilter

Upozornenie

Dôrazne odporúčame, aby ste parametre entity entitynamesfilter a messagenamesfilter obmedzovali na tie, ktoré budete používať vo svojom projekte. V opačnom prípade sa príkaz zostáv pokúsi generovať kód pre všetky tabuľky a správy z dataverse. Spracovanie bude trvať značné množstvo času.

Triedy správ, ktoré sa nachádzajú v priestore názvov Microsoft.Crm.Sdk.Messages a Microsoft.Xrm.Sdk.Messages , sa nevygenerujú pomocou tohto príkazu. Mali by ste zahrnúť iba správy, ktoré sa v parametri messagenamesfilter nenachádzajú, ako napríklad vlastné akcie.

Nastavenie suppressINotifyPattern , ak nevystavujete aplikáciu WPF

Obaly INotify , ktoré potlačí tento príkaz, sa používajú na scenáre priradenia údajov s aplikáciami WPF. Ak nevytvárate aplikáciu WPF s vygenerovaným kódom, nie je ich potrebné. Ak ich chcete potlačiť, použite parameter suppressINotifyPattern .

Zahrnutie serviceContextName pri generovaní tried správ

Ak vytvárate triedy správ, na generovanie zostavy by ste mali vždy zahrnúť parameter OrganizationServiceContext, a to aj v prípade, že ho nepoužívate. Vygenerované triedy správ vyžadujú vlastnosť nastavenú v tomto súbore. Ďalšie informácie o chybe, ktorá sa vyskytne, ak ju nenastavíte.

Pozrite tiež:

Microsoft Power Platform CLI Command Groups
Prehľad rozhrania Microsoft Power Platform CLI