Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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:
- Opožděné a časně vázané programování pomocí organizační služby
- Použití OrganizationServiceContext
- Vytváření dotazů pomocí LINQ
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:
OffCriticalErrorWarningInformationVerboseActivityTracingAll
--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