Sdílet prostřednictvím


pac modelbuilder

Generátor kódu pro rozhraní DATAVERSE API a tabulky

Pomocí příkazu pac modelbuilder sestavení vygenerujte třídy rozhraní .NET s časnou vazbou pro tabulky Dataverse, vlastní zprávy a třídu odvozenou z třídy OrganizationServiceContext. Další informace o použití tohoto příkazu ke generování tříd s časnou vazbou

Třída odvozená z OrganizationServiceContext:

  • Udržuje stav klienta pro podporu funkcí, jako je správa změn.
  • Implementuje rozhraní System.Linq.IQueryable a zprostředkovatele dotazu LINQ (.NET Language-Integrated Query), abyste mohli psát dotazy LINQ pomocí dat Dataverse.

Další informace o možnostech, které tento nástroj pro generování kódu umožňuje:

Poznámka:

Příkaz pac modelbuilder build nahradí distribuovaný CrmSvcUtil.exe balíčkem NuGet Microsoft.CrmSdk.CoreTools .

Commands

Command Description
pac modelbuilder build Vytvoří model kódu pro rozhraní DATAVERSE API a tabulky.

pac modelbuilder build

Vytvoří model kódu pro rozhraní DATAVERSE API a tabulky.

Poznámka:

Než budete moct použít build příkaz, musíte se nejdřív připojit k Dataverse pomocí příkazu pac auth create . Pokud máte více připojení, vyberte ověření pac a zvolte prostředí Dataverse, pro které chcete vygenerovat kód.

Example

Následující příklad ukazuje, jak použít build příkaz s příkazovým řádkem.

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

A stejný příkaz pomocí PowerShellu:

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é

Při použití PowerShellu musíte všechny parametry řetězce ohraničovat jednoduchými uvozovkami.

Výsledkem tohoto příkazu je, že do c:\src\MyApps\Model složky jsou zapsány následující soubory.

C:\src\MyApps\Model\
|---Entity\
| |--account.cs
| |--contact.cs
|---OptionSets\
| |--addresstypes.cs
|---Zprávy\
| |--examp_myapi.cs
|---EntityOptionSetEnum.cs
|---builderSettings.json
|---OrgContext.cs

builderSettings.json obsahuje parametry, které jste zadali pro příkaz. Můžete ho použít k rychlému opětovnému vygenerování souborů při změně. Následující příklad ukazuje použití vygenerovaného buildersettings.json souboru z prvního příkazu pomocí settingsTemplateFile:

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

Můžete také vytvořit builderSettings.json soubor a použít ho místo předání všech parametrů příkazu. Následuje příklad, který odpovídá prvnímu příkladu výše:

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

Pokud předáte parametry příkazu při použití parametru settingsTemplateFile , parametry předané příkazu přepíší ty, které jsou nastavené v builderSettings.json souboru.

Parametr settingsTemplateFile a parametr writesettingsTemplateFile nemůžete použít současně.

Požadované parametry pro sestavení modelbuilderu

--outdirectory -o

Zapište adresář pro soubory entity, zprávy a sady možností.

Volitelné parametry pro sestavení modelbuilderu

--emitentityetc -etc

Při nastavení zahrnuje entitu ETC (kód typu entity) ve vygenerovaném kódu.

Tento parametr nevyžaduje žádnou hodnotu. Je to přepínač.

--emitfieldsclasses -efc

Vygenerujte strukturu konstant, která obsahuje všechny názvy polí podle entity v době generování kódu.

Tento parametr nevyžaduje žádnou hodnotu. Je to přepínač.

--emitvirtualattributes -eva

Pokud je tato sada nastavená, zahrnuje podpůrné atributy názvů pro vyhledávání, které umožňují filtrování podle hodnot atributů primárního názvu vyhledávacích atributů.

Tento parametr nevyžaduje žádnou hodnotu. Je to přepínač.

--entitynamesfilter -enf

Filtry seznamu entit se načtou při čtení dat z Dataverse. Předává se jako seznam oddělený středníkem. Použití entitylogicalname< formuláře>;<entitylogicalname>

--entitytypesfolder -etf

Název složky, který obsahuje entity. Výchozí název je Entity.

--environment -env

Určuje cílovou službu Dataverse. Hodnota může být identifikátor GUID nebo absolutní adresa URL https. Pokud nezadáte, použije se aktivní organizace vybraná pro aktuální profil ověřování.

--generateGlobalOptionSets -go

Vygeneruje všechny globální sady možností. Poznámka: Pokud entita obsahuje odkaz na globální sadu možností, je generována i v případě, že tento přepínač není k dispozici.

--generatesdkmessages -a

Při nastavení generuje třídy zpráv sdk jako součást generování kódu.

Tento parametr nevyžaduje žádnou hodnotu. Je to přepínač.

--language -l

Jazyk, který se má použít pro vygenerovaný kód proxy serveru. Tato hodnota může být CS nebo VB. Výchozí jazyk je CS.

--logLevel -ll

Úroveň protokolu. Výchozí hodnota je Vypnuto.

Použijte jednu z těchto hodnot:

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

--messagenamesfilter -mnf

Filtruje seznam zpráv načtených při čtení dat z Dataverse. Předané jako seznam oddělený středníkem jsou vždy zahrnuty požadované zprávy (Vytvoření, aktualizace, odstranění, načtení, Načtení, RetrieveMultiple, Přidružení a Zrušení přidružení). Pomocí koncové nebo úvodní hvězdičky (*) s názvy zpráv povolte pro všechny zprávy začínající řetězcem nebo končícím řetězcem. Použití názvu< zprávy formuláře>;<název> zprávy.

--messagestypesfolder -mtf

Název složky, který obsahuje zprávy. Výchozí název je Messages (Zprávy).

--namespace -n

Obor názvů pro vygenerovaný kód. Výchozí obor názvů je globální obor názvů.

--optionsetstypesfolder -otf

Název složky, který obsahuje sady možností. Výchozí název je OptionSets.

--serviceContextName -sctx

Název vygenerovaného kontextu služby. Pokud se předá hodnota, použije se pro kontext služby. Pokud ne, nevygeneruje se žádný kontext služby.

--settingsTemplateFile -stf

Obsahuje nastavení, která se mají použít pro toto spuštění Tvůrce modelů Dataverse, přepíše všechny duplicitní parametry na příkazovém řádku. Nelze nastavit při použití parametru --writesettingstemplate.

--suppressGeneratedCodeAttribute -sgca

Při nastavení to potlačí všechny vygenerované objekty označené modulem generování kódu a verzí.

Tento parametr nevyžaduje žádnou hodnotu. Je to přepínač.

--suppressINotifyPattern

Pokud je tato možnost povolená, nezapisuje obálky INotify pro vlastnosti a třídy.

--writesettingsTemplateFile -wstf

Při nastavení zapíše soubor nastavení do výstupního adresáře s aktuálním předaným nastavením nebo výchozím nastavením.

Poznámky

Níže jsou uvedená doporučení pro použití pac modelbuilder build tohoto příkazu.

entitynamesfilter Nastavení parametrů messagenamesfilter

Upozornění

Důrazně doporučujeme použít parametry entitynamesfilter a messagenamesfilter k omezení vygenerovaných souborů na ty, které budete v projektu používat. Jinak se příkaz sestavení pokusí vygenerovat kód pro všechny tabulky a zprávy z Dataverse. Zpracování bude trvat poměrně dlouho.

Třídy pro zprávy nalezené v Microsoft.Crm.Sdk.Messages a Microsoft.Xrm.Sdk.Messages obor názvů nejsou generovány pomocí tohoto příkazu. V parametru messagenamesfilter byste měli zahrnout jenom zprávy, které tam nebyly nalezeny, například vlastní akce.

Nastavení suppressINotifyPattern , pokud nevytáčíte aplikaci WPF

Obálky INotify potlačené tímto příkazem se používají pro scénáře vazby dat s aplikacemi WPF. Pokud nevytvořujete aplikaci WPF s vygenerovaným kódem, nepotřebujete je. K potlačení použijte parametr suppressINotifyPattern .

Zahrnout serviceContextName při generování tříd zpráv

Pokud generujete třídy zpráv, měli byste vždy zahrnout parametr serviceContextName pro vygenerování , OrganizationServiceContexti když ho nepoužíváte. Třídy vygenerovaných zpráv vyžadují vlastnost nastavenou v tomto souboru. Přečtěte si další informace o chybě, ke které dochází, pokud ji nenastavíte.

Viz také

Skupiny příkazů rozhraní příkazového řádku Microsoft Power Platform
Přehled rozhraní příkazového řádku Microsoft Power Platform