Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kodgenerator för Dataverse-API:er och tabeller
Använd kommandot pac modelbuilder build för att generera tidiga .NET-klasser för Dataverse-tabeller, anpassade meddelanden och en klass som härleds från Klassen OrganizationServiceContext. Läs mer om hur du använder det här kommandot för att generera tidiga bundna klasser
Klassen härledd från OrganizationServiceContext:
- Underhåller tillståndet på klienten för att stödja funktioner som ändringshantering.
- Implementerar System.Linq.IQueryable Interface och en LINQ-frågeprovider (.NET Language-Integrated Query) så att du kan skriva LINQ-frågor med dataversumdata.
Mer information om de funktioner som det här kodgenereringsverktyget möjliggör:
- Programmering med sen bindning och tidig bindning med hjälp av organisationstjänsten
- Använda OrganizationServiceContext
- Skapa frågor med LINQ
Anmärkning
Kommandot pac modelbuilder build ersätter det CrmSvcUtil.exe distribuerade med NuGet-paketet Microsoft.CrmSdk.CoreTools .
Commands
| Befallning | Description |
|---|---|
| pac modelbuilder build | Skapar en kodmodell för Dataverse-API:er och tabeller |
pac modelbuilder build
Skapar en kodmodell för Dataverse-API:er och tabeller
Anmärkning
Innan du kan använda build kommandot måste du först ansluta till Dataverse med hjälp av kommandot pac auth create . Om du har flera anslutningar använder du pac-autentiseringsmarkeringen för att välja den Dataverse-miljö som du vill generera kod för.
Example
I följande exempel visas hur du använder build kommandot med en kommandotolk.
pac modelbuilder build ^
--entitynamesfilter account;contact ^
--generatesdkmessages ^
--messagenamesfilter examp_* ^
--emitfieldsclasses ^
--emitVirtualAttributes ^
--namespace MyApps.Model ^
--outdirectory c:\src\MyApps\Model ^
--writesettingsTemplateFile ^
--serviceContextName OrgContext
Och samma kommando med PowerShell:
pac modelbuilder build `
--entitynamesfilter 'account;contact' `
--generatesdkmessages `
--messagenamesfilter 'examp_*' `
--emitfieldsclasses `
--emitVirtualAttributes `
--namespace 'MyApps.Model' `
--outdirectory 'c:\src\MyApps\Model' `
--writesettingsTemplateFile `
--serviceContextName 'OrgContext'
Viktigt!
Du måste omge alla strängparametrar med enkla citattecken när du använder PowerShell.
Resultatet av det här kommandot är att följande filer skrivs till c:\src\MyApps\Model mappen.
C:\src\MyApps\Model\
|---Enheter\
| |--account.cs
| |--contact.cs
|---OptionSets\
| |--addresstypes.cs
|---Messages\
| |--examp_myapi.cs
|---EntityOptionSetEnum.cs
|---builderSettings.json
|---OrgContext.cs
builderSettings.json innehåller de parametrar som du angav för kommandot. Du kan använda den för att snabbt återskapa filerna när saker förändras. I följande exempel visas hur du använder den genererade buildersettings.json filen från det första kommandot med hjälp av inställningarnaTemplateFile:
pac modelbuilder build `
--outdirectory c:\src\MyApps\Model `
--settingsTemplateFile c:\src\MyApps\Model\builderSettings.json
Du kan också välja att skapa en builderSettings.json fil och använda den i stället för att skicka alla parametrar till kommandot. Följande är ett exempel som motsvarar det första exemplet ovan:
{
"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
}
Om du skickar parametrar till kommandot när du använder parametern settingsTemplateFile åsidosätter parametrarna som skickas till kommandot de som anges i builderSettings.json filen.
Du kan inte använda parametern settingsTemplateFile och parametern writesettingsTemplateFile samtidigt.
Obligatoriska parametrar för modellbygge
--outdirectory
-o
Skriv katalog för entitets-, meddelande- och alternativuppsättningsfiler.
Valfria parametrar för modellbygge
--emitentityetc
-etc
När den anges innehåller entiteten ETC ( entitetstypkod ) i den genererade koden.
Den här parametern kräver inget värde. Det är en växel.
--emitfieldsclasses
-efc
Generera en konstantstruktur som innehåller alla fältnamn efter entitet vid tidpunkten för kodgenereringen.
Den här parametern kräver inget värde. Det är en växel.
--emitvirtualattributes
-eva
När värdet anges innehåller det stödnamnsattribut för sökningar som aktiverar filtrering på de primära namnattributvärdena för uppslagsattribut.
Den här parametern kräver inget värde. Det är en växel.
--entitynamesfilter
-enf
Filtrerar listan över entiteter som hämtas när du läser data från Dataverse. Skickas in som en semikolonavgränsad lista. Använda formuläret <entitylogicalname>;<entitylogicalname>
--entitytypesfolder
-etf
Mappnamn som innehåller entiteter. Standardnamnet är "Entiteter".
--environment
-env
Anger måldataversum. Värdet kan vara en GUID- eller absolut https-URL. När det inte anges används den aktiva organisation som valts för den aktuella autentiseringsprofilen.
--generateGlobalOptionSets
-go
Generera alla globala alternativUppsättningar. Obs! Om en entitet innehåller en referens till en global alternativuppsättning genereras den även om den här växeln inte finns.
--generatesdkmessages
-a
När det anges genererar Sdk-meddelandeklasser som en del av kodgenereringen.
Den här parametern kräver inget värde. Det är en växel.
--language
-l
Det språk som ska användas för den genererade proxykoden. Det här värdet kan vara antingen "CS" eller "VB". Standardspråket är "CS".
--logLevel
-ll
Loggnivå. Standardvärdet är "Av".
Använd något av följande värden:
OffCriticalErrorWarningInformationVerboseActivityTracingAll
--messagenamesfilter
-mnf
Filtrerar listan över meddelanden som hämtas när du läser data från Dataverse. Skickade som en semikolonavgränsad lista, obligatoriska meddelanden (Skapa, Uppdatera, Ta bort, Hämta, RetrieveMultiple, Associera och Ta bort association) ingår alltid. Använd en avslutande eller inledande asterisk (*) med namnen på meddelandena för att tillåta alla meddelanden som börjar med eller slutar med en sträng. Använda formulärets <meddelandenamn>;<messagename>.
--messagestypesfolder
-mtf
Mappnamn som innehåller meddelanden. Standardnamnet är "Meddelanden".
--namespace
-n
Namnområdet för den genererade koden. Standardnamnområdet är det globala namnområdet.
--optionsetstypesfolder
-otf
Mappnamn som innehåller alternativuppsättningar. Standardnamnet är "OptionSets".
--serviceContextName
-sctx
Namnet på den genererade tjänstkontexten. Om ett värde skickas in används det för tjänstkontexten. Annars genereras ingen tjänstkontext.
--settingsTemplateFile
-stf
Innehåller inställningar som ska användas för den här körningen av Dataverse Model Builder, åsidosätter eventuella duplicerade parametrar på kommandoraden. Det går inte att ange när --writesettingstemplate används.
--suppressGeneratedCodeAttribute
-sgca
När detta anges undertrycks alla genererade objekt som taggas med kodgenereringsmotorn och -versionen
Den här parametern kräver inget värde. Det är en växel.
--suppressINotifyPattern
När det är aktiverat skriver du inte INotify-omslutningen för egenskaper och klasser.
--writesettingsTemplateFile
-wstf
När den anges skriver du ut en inställningsfil till utdatakatalogen med de aktuella inställningarna eller standardinställningarna.
Anmärkningar
Följande är rekommendationer för att använda pac modelbuilder build kommandot.
Ange parametrarna entitynamesfilter och messagenamesfilter
Försiktighet
Vi rekommenderar starkt att du använder parametrarna entitynamesfilter och messagenamesfilter för att begränsa de genererade filerna till dem som du ska använda i projektet. Annars försöker build-kommandot generera kod för alla tabeller och meddelanden från Dataverse. Det tar lång tid att bearbeta.
Klasser för de meddelanden som finns i namnområdet Microsoft.Crm.Sdk.Messages och Microsoft.Xrm.Sdk.Messages genereras inte med det här kommandot. Du bör bara inkludera meddelanden som inte finns där i parametern messagenamesfilter , till exempel anpassade åtgärder.
Ange suppressINotifyPattern om du inte skapar ett WPF-program
Omslutningarna INotify som undertrycks av det här kommandot används för databindningsscenarier med WPF-program. Om du inte skapar ett WPF-program med den genererade koden behöver du dem inte. Använd parametern suppressINotifyPattern för att undertrycka dem.
Inkludera serviceContextName när du genererar meddelandeklasser
Om du genererar meddelandeklasser bör du alltid inkludera parametern serviceContextName för att generera en OrganizationServiceContext, även om du inte använder den. De genererade meddelandeklasserna kräver en egenskapsuppsättning i den här filen. Läs mer om felet som uppstår om du inte anger detta.
Se även
Microsoft Power Platform CLI-kommandogrupper
Översikt över Microsoft Power Platform CLI