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.
(Zastarjelo) Generator koda za dataverse API-je i tablice.
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:
- Kasni i rani programi koristeći uslugu Organization
- Use OrganizationServiceContext
- Stvaranje upita pomoću značajke LINQ
Note
Naredba pac modelbuilder build zamjenjuje distribuirani CrmSvcUtil.exe paket NuGet za Microsoft.CrmSdk.CoreTools .
Commands
| Command | Description |
|---|---|
| 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
Note
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.
Example
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'
Important
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
Log level. 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.
Remarks
U nastavku su navedene preporuke za korištenje naredbe pac modelbuilder build .
Postavljanje parametara entitynamesfilter i messagenamesfilter
Caution
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.
See also
Microsoft Power Platform CLI naredbene grupe
Pregled CLI-ja za Microsoft Power Platform