Делите путем


pac modelbuilder

Генератор кода за Датаверсе АПИ-је и табеле

Користите команду pac modelbuilder build да бисте генерисали рано везане .НЕТ класе за Датаверсе табеле, прилагођене поруке и класу која је изведена из класе ОрганизатионСервицеЦонтеxт . Сазнајте више о коришћењу ове команде за генерисање раних везаних класа

Класа изведена из OrganizationServiceContext:

  • Одржава стање на клијенту да подржи функције као што су управљање променама.
  • Имплементира Систем.Линк.ИКуериабле интерфејс и .НЕТ Language-Integrated Куери (ЛИНК) провајдер упита тако да можете писати ЛИНК упите користећи Датаверсе податке.

За више информација о могућностима које овај алат за генерисање кода омогућава:

Белешка

pac modelbuilder build Команда замењује дистрибуирани CrmSvcUtil.exe са Мицрософт.ЦрмСдк.ЦореТоолс НуГет пакетом.

Команде

Command Опис
pac modelbuilder build Израђује модел кода за Датаверсе АПИ-је и табеле

pac modelbuilder build

Израђује модел кода за Датаверсе АПИ-је и табеле

Белешка

Пре него што можете да користите команду build, прво морате да се повежете са Датаверсе помоћу команде pac аутх цреате . Ако имате више веза, користите pac аутх изаберите да бисте изабрали Датаверсе окружење за које желите да генеришете код.

Пример

Следећи пример показује како да користите команду build са командном линијом.

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

И иста команда користећи ПоверСхелл:

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

Важно

Потребно је да окружите све параметре низа са појединачним наводницима када користите ПоверСхелл.

Резултат ове команде је да су следеће датотеке уписане у фолдер. c:\src\MyApps\Model

Ц:\срц\МyАппс\Модел\
|---Ентитета\
| |--аццоунт.цс
| |--цонтацт.цс
|--- ОптионСетс\
| |--аддресстyпес.цс
|--- Мессагес\
| |--еxамп_мyапи.цс
|--- ЕнтитyОптионСетЕнум.цс
|---builderSettings.json
|--- ОргЦонтеxт.цс

builderSettings.json садржи параметре које сте специфицирали за команду. Можете га користити за брзо регенерисање датотека како се ствари мењају. Следећи пример приказује коришћење генерисаног buildersettings.json фајла из прве команде користећи сеттингсТемплатеФиле :

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

Такође можете да изаберете да креирате builderSettings.json фајл и користите га уместо да проследите све параметре команди. Следи пример који је еквивалентан првом примеру изнад:

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

Ако прођете параметре команди док користите параметар сеттингсТемплатеФиле , параметри прослеђени команди ће преписати оне подешене у фајлу builderSettings.json .

Не можете користити сеттингсТемплатеФиле параметар и wритесеттингсТемплатеФиле параметар у исто време.

Потребни параметри за modelbuilder build

--outdirectory -o

Напишите директоријум за ентитетске, поруке и датотеке опција

Опциони параметри за modelbuilder build

--emitentityetc -etc

Када је постављен, укључује ентитет ЕТЦ (ентитетски код типа) у генерисаном коду.

Овај параметар не захтева никакву вредност. То је прекидач.

--emitfieldsclasses -efc

Генеришите структуру константи која садржи сва имена поља по ентитету у време генерисања кода.

Овај параметар не захтева никакву вредност. То је прекидач.

--emitvirtualattributes -eva

Када је подешено, укључује подржавајуће атрибуте имена за претраге које омогућавају филтрирање на примарним вредностима атрибута имена атрибута претраге.

Овај параметар не захтева никакву вредност. То је прекидач.

--entitynamesfilter -enf

Филтрира листу ентитета се преузима приликом читања података из Датаверсе. Прошао је као тачка-зарез одвојен листа. Коришћењем обрасца < ентитyлогицалнаме >; <ентитетски логичкинаме>

--entitytypesfolder -etf

Име фолдера који садржи ентитете. Подразумевано име је 'Ентитети'.

--environment -env

Одређује циљну Датаверсе. Вредност може бити Гуид или апсолутни хттпс УРЛ. Када није наведено, користиће се активна организација изабрана за тренутни профил аутентификације.

--generateGlobalOptionSets -go

Емитују све Глобал ОптионСетс. Напомена : Ако ентитет садржи референцу на глобални скуп опција, он се емитује чак и ако овај прекидач није присутан.

--generatesdkmessages -a

Када је подешено, емитује класе Сдк порука као део генерисања кода.

Овај параметар не захтева никакву вредност. То је прекидач.

--language -l

Језик који се користи за генерисани проки код. Ова вредност може бити или 'ЦС' или 'ВБ'. Подразумевани језик је 'ЦС'.

--logLevel -ll

Ниво дневника. Подразумевана вредност је 'Офф'.

Користите једну од ових вредности:

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

--messagenamesfilter -mnf

Филтрира листу порука које се преузимају приликом читања података из Датаверсе. Прослеђене као тачка-зарез одвојене листе, потребне поруке (Креирај, Ажурирај, Избриши, Преузми, РетриевеМултипле, Ассоциате и Дисцоннецт) су увек укључене. Користите завршну или водећу звездицу (*) са именима порука да бисте омогућили све поруке које почињу или се завршавају низом. Користећи образац < мессагенаме >; <име > поруке.

--messagestypesfolder -mtf

Име фасцикле која садржи поруке. Подразумевани назив је'Поруке'.

--namespace -n

Именски простор за генерисани код. Подразумевани именски простор је глобални именски простор.

--optionsetstypesfolder -otf

Име фолдера који садржи скупове опција. Подразумевано име је 'ОптионСетс'.

--serviceContextName -sctx

Назив за генерисани контекст услуге. Ако се вредност прослеђе, она се користи за контекст услуге. Ако не, не генерише се контекст услуге.

--settingsTemplateFile -stf

Садржи подешавања која ће се користити за ову вожњу Датаверсе Модел Буилдер-а, преписује све дупле параметре у командној линији. Не може се подесити када се користи --wритесеттингстемплате.

--suppressGeneratedCodeAttribute -sgca

Када је подешено, ово потискује све генерисане објекте који су означени са мотором и верзијом за генерисање кода

Овај параметар не захтева никакву вредност. То је прекидач.

--suppressINotifyPattern

Када је омогућено, не пише ИНотифy омоте за особине и класе.

--writesettingsTemplateFile -wstf

Када је подешено, пише фајл подешавања у излазни директоријум са тренутним прослеђеним подешавањима или подразумеваним подешавањима.

Примедбе

Следе препоруке за коришћење команде pac modelbuilder build .

Подесите и entitynamesfilter параметре messagenamesfilter

Пажња

Препоручујемо да користите ентитyнамесфилтер и мессагенамесфилтер параметре да ограничите генерисане фајлове на оне које ћете користити у вашем пројекту. У супротном, команда за изградњу ће покушати да генерише код за све табеле и поруке из Датаверсе. Ово ће потрајати значајну количину времена за обраду.

Класе за поруке које се налазе у именском простору Мицрософт.Црм.Сдк.Мессагес и Мицрософт.Xрм.Сдк.Мессагес се не генеришу помоћу ове команде. Требало би да укључите само поруке које се тамо не налазе у параметру messagenamesfilter , као што су прилагођене акције.

Подесите suppressINotifyPattern ако не правите ВПФ апликацију

Омоти INotify који су потиснути овом командом користе се за сценарије повезивања података са ВПФ апликацијама. Ако не правите ВПФ апликацију са генерисаним кодом, не требају вам. Користите суппрессИНотифyПаттерн параметар да их потиснете.

Укључи serviceContextName приликом генерисања класа порука

Ако генеришете класе порука, увек треба да укључите сервицеЦонтеxтНаме параметар да бисте генерисали , OrganizationServiceContext чак и ако га не користите. Генерисане класе порука захтевају особину подешену у овом фајлу. Сазнајте више о грешци која се јавља ако то не подесите .

Погледајте и

Мицрософт Повер Платформ ЦЛИ командне групе
Преглед Мицрософт Повер Платформ ЦЛИ