Napomena
Za pristup ovoj stranici potrebna je autorizacija. Možete se pokušati prijaviti ili promijeniti direktorije.
Za pristup ovoj stranici potrebna je autorizacija. Možete pokušati promijeniti direktorije.
Generator koda za API-je i tablice za Dataverse.
Koristite naredbu pac modelbuilder build za generiranje ranih .NET klasa za tablice Dataverse, prilagođene poruke i razred izveden iz klase OrganizationServiceContext. Saznajte više o korištenju ove naredbe za generiranje ranih vezane klase
Razred izveden iz OrganizationServiceContext:
- Održava stanje klijenta radi podrške značajkama kao što je upravljanje promjenama.
- Implementira davatelja upita System.Linq.IQueryable Interface i .NET Language-Integrated Query (LINQ) da biste mogli pisati LINQ upite pomoću podataka Dataverse.
Dodatne informacije o mogućnostima koje alat za generiranje koda omogućuje:
- Late-bound and early-bound programming using the Organization service
- Koristi OrganizationServiceContext
- Stvaranje upita pomoću značajke LINQ
Napomena
Naredba pac modelbuilder build zamjenjuje distribuirani CrmSvcUtil.exe paket NuGet za Microsoft.CrmSdk.CoreTools .
Naredbe
| Naredba | Opis |
|---|---|
| pac modelbuilder build | Sastavlja model koda za API-je i tablice za Dataverse |
pac modelbuilder build
Sastavlja model koda za API-je i tablice za Dataverse
Napomena
Da biste mogli koristiti naredbu build , najprije se morate povezati s alatom Dataverse pomoću pac naredbe stvori auth . Ako imate više veza, pomoću odabira pac za provjeru autentičnosti odaberite okruženje Dataverse za koje želite generirati kod.
Primjer
U sljedećem je primjeru prikazano kako koristiti naredbu build u naredbenom retku.
pac modelbuilder build ^
--entitynamesfilter account;contact ^
--generatesdkmessages ^
--messagenamesfilter examp_* ^
--emitfieldsclasses ^
--emitVirtualAttributes ^
--namespace MyApps.Model ^
--outdirectory c:\src\MyApps\Model ^
--writesettingsTemplateFile ^
--serviceContextName OrgContext
Ista naredba pomoću komponente PowerShell:
pac modelbuilder build `
--entitynamesfilter 'account;contact' `
--generatesdkmessages `
--messagenamesfilter 'examp_*' `
--emitfieldsclasses `
--emitVirtualAttributes `
--namespace 'MyApps.Model' `
--outdirectory 'c:\src\MyApps\Model' `
--writesettingsTemplateFile `
--serviceContextName 'OrgContext'
Važno
Kada koristite PowerShell, parametre niza potrebno je okružiti jednostrukim navodima.
Rezultat ove naredbe je da su u mapu zapisane sljedeće c:\src\MyApps\Model datoteke.
C:\src\MyApps\Model\
|---Entiteta\
| |--account.cs
| |--contact.cs
|---Skupovi mogućnosti\
| |--addresstypes.cs
|---Poruke\
| |--examp_myapi.cs
|---EntityOptionSetEnum.cs
|---builderSettings.json
|---OrgContext.cs
builderSettings.json sadrži parametre koje ste naveli za naredbu. Pomoću njega možete brzo ponovno stvoriti datoteke dok se stvari mijenjaju. U sljedećem se primjeru prikazuje korištenje generirane buildersettings.json datoteke iz prve naredbe pomoću postavkeTemplateFile:
pac modelbuilder build `
--outdirectory c:\src\MyApps\Model `
--settingsTemplateFile c:\src\MyApps\Model\builderSettings.json
Možete i stvoriti datoteku i koristiti builderSettings.json je umjesto da sve parametre proslijedate naredbi. Slijedi primjer koji je jednak prvom gornjem primjeru:
{
"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
}
Ako parametre proslijedite naredbi dok koristite parametar settingsTemplateFile , parametri proslijede naredbi nadjačat će skup u builderSettings.json datoteci.
Parametar settingsTemplateFile iparametar writesettingsTemplateFile ne mogu se istovremeno koristiti.
Obavezni parametri za modelbuilder build
--outdirectory
-o
Zapisujte direktorij za datoteke entiteta, poruka i skupa mogućnosti.
Neobavezni parametri za modelbuilder build
--emitentityetc
-etc
Kada je postavljen, u generirani kod uvrsti entitet ETC ( šifra vrste entiteta).
Ovaj parametar ne zahtijeva vrijednost. To je prekidač.
--emitfieldsclasses
-efc
Generirajte strukturu konstanti koja sadrži sve nazive polja po entitetu u trenutku generiranja koda.
Ovaj parametar ne zahtijeva vrijednost. To je prekidač.
--emitvirtualattributes
-eva
Kada se postavi, obuhvaća atribute naziva podrške za pretraživanja koja omogućuju filtriranje prema vrijednostima atributa primarnog naziva atributa pretraživanja.
Ovaj parametar ne zahtijeva vrijednost. To je prekidač.
--entitynamesfilter
-enf
Filtrira popis entiteta koji se dohvaćaju prilikom čitanja podataka iz dataverse. Proslijeđen kao popis odvojen točkom sa zarezom. Korištenje entitylogicalname <obrasca>;<naziv entiteta>
--entitytypesfolder
-etf
Naziv mape koja sadrži entitete. Zadani je naziv "Entiteti".
--environment
-env
Određuje ciljni Dataverse. Vrijednost može biti GUID ili apsolutni https URL. Kada nije navedeno, koristit će se aktivna tvrtka ili ustanova odabrana za trenutni profil za auth.
--generateGlobalOptionSets
-go
Emitiraj sve globalne skupove mogućnosti. Napomena: ako entitet sadrži referencu na globalni optionset, emitira se čak i ako taj parametar nije prisutan.
--generatesdkmessages
-a
Kada se postavi, šalju se klase poruka SDK-a kao dio generiranja koda.
Ovaj parametar ne zahtijeva vrijednost. To je prekidač.
--language
-l
Jezik koji će se koristiti za generirani proxy kod. Ta vrijednost može biti "CS" ili "VB". Zadani je jezik "CS".
--logLevel
-ll
Razina zapisnika. Zadana je vrijednost "Isključeno".
Koristite jednu od ovih vrijednosti:
OffCriticalErrorWarningInformationVerboseActivityTracingAll
--messagenamesfilter
-mnf
Filtrira popis poruka koje se dohvaćaju prilikom čitanja podataka iz aplikacije Dataverse. Proslijeđene kao popis odvojen točkom sa zarezom, obavezne poruke (Stvori, Ažuriraj, Izbriši, Dohvati, RetrieveMultiple, Associate i Disassociate) uvijek su uključene. Koristite završnu ili vodeću zvjezdicu (*) s nazivima poruka da biste omogućili sve poruke koje započinju nizom ili završavaju nizom. Using the form <messagename>;<naziv poruke>.
--messagestypesfolder
-mtf
Naziv mape koja sadrži poruke. Zadani je naziv "Poruke".
--namespace
-n
Prostor naziva za generirani kod. Zadani je prostor za naziv globalno mjesto za naziv.
--optionsetstypesfolder
-otf
Naziv mape koji sadrži skupove mogućnosti. Zadani je naziv 'OptionSets'.
--serviceContextName
-sctx
Naziv generiranog konteksta servisa. Ako se vrijednost prosljeđuje, koristi se za kontekst servisa. Ako nije, ne generira se kontekst servisa.
--settingsTemplateFile
-stf
Sadrži postavke koje će se koristiti za ovo pokretanje sastavljača podatkovnih modela, nadjačava sve duplicirane parametre u naredbenom retku. Nije moguće postaviti kada se koristi --writesettingstemplate.
--suppressGeneratedCodeAttribute
-sgca
Kada se postavi, time se potiskuju svi generirani objekti koji su označeni modulom za generiranje koda i verzijom
Ovaj parametar ne zahtijeva vrijednost. To je prekidač.
--suppressINotifyPattern
Kada je omogućeno, ne piše omotače INotify za svojstva i klase.
--writesettingsTemplateFile
-wstf
Kada je postavljen, zapisuje datoteku postavki u izlazni direktorij s trenutnim proslijeđenim postavkama ili zadanim postavkama.
Primjedbe
U nastavku su navedene preporuke za korištenje naredbe pac modelbuilder build .
Postavljanje parametara entitynamesfilter i messagenamesfilter
Oprez
Preporučujemo da parametreentitynamesfilter i messagenamesfilter ograničite na one koje ćete koristiti u projektu. U suprotnom će naredba build pokušati generirati kod za sve tablice i poruke iz programa Dataverse. To će potrajati znatnu količinu vremena za obradu.
Klase za poruke pronađene u odjeljku Microsoft.Crm.Sdk.Messages i Microsoft.Xrm.Sdk.Messages prostor naziva ne generiraju se pomoću ove naredbe. Trebali biste uključiti samo poruke koje se tamo ne nalaze u parametru messagenamesfilter , kao što su prilagođene akcije.
Postavi suppressINotifyPattern ako ne gradiš WPF aplikaciju
Omotači INotify koji su potisnuti ovom naredbom koriste se za scenarije povezivanje podataka s WPF aplikacijama. Ako ne gradite WPF aplikaciju s generiranim kodom, nisu vam potrebni. Upotrijebite parametar suppressINotifyPattern da biste ih potisnuti.
Uključi serviceContextName prilikom generiranja klasa poruka
Ako generirate klase poruka, uvijek morate uključiti parametar serviceContextNameOrganizationServiceContextda biste generirali , čak i ako ga ne koristite. Generirane klase poruka zahtijevaju skup svojstava u ovoj datoteci. Saznajte više o pogrešci koja se pojavljuje ako je ne postavite.
Vidi također
Microsoft Power Platform CLI Command Groups
Pregled CLI-ja za Microsoft Power Platform