Нотатка
Доступ до цієї сторінки потребує авторизації. Можна спробувати ввійти або змінити каталоги.
Доступ до цієї сторінки потребує авторизації. Можна спробувати змінити каталоги.
Генератор коду для API та таблиць Dataverse
pac modelbuilder build Скористайтеся командою, щоб створювати ранні класи .NET для таблиць Dataverse, настроюваних повідомлень і класу, отриманого з класу OrganizationServiceContext. Дізнайтеся більше про використання цієї команди для створення ранніх зв'язаних класів
Клас походить від OrganizationServiceContext:
- Підтримує стан клієнта для підтримки таких функцій, як керування змінами.
- Впроваджує інтерфейс System.Linq.IQueryable і постачальника запитів .NET Language-Integrated Query (LINQ), щоб можна було писати запити LINQ за допомогою даних Dataverse.
Щоб отримати додаткові відомості про можливості, які активує цей засіб створення коду:
- Завчасне та раннє програмування за допомогою служби Організації
- Використовувати organizationServiceContext
- Створення запитів за допомогою LINQ
Нотатка
Команда pac modelbuilder build замінює розподілений CrmSvcUtil.exe пакет Microsoft.CrmSdk.CoreTools NuGet.
Команди
| Command | Опис |
|---|---|
| pac modelbuilder build | Створення моделі коду для API та таблиць Dataverse |
pac modelbuilder build
Створення моделі коду для API та таблиць Dataverse
Нотатка
Перш ніж використовувати build команду, спочатку потрібно підключитися до Dataverse за допомогою команди створення автентифікаціїpac. Якщо у вас кілька підключень, скористайтеся параметром автентифікаціїpac, щоб вибрати середовище Dataverse, для якого потрібно створити код.
Приклад
У наведеному нижче прикладі build показано, як використовувати команду з командним рядку.
pac modelbuilder build ^
--entitynamesfilter account;contact ^
--generatesdkmessages ^
--messagenamesfilter examp_* ^
--emitfieldsclasses ^
--emitVirtualAttributes ^
--namespace MyApps.Model ^
--outdirectory c:\src\MyApps\Model ^
--writesettingsTemplateFile ^
--serviceContextName OrgContext
Та сама команда за допомогою PowerShell:
pac modelbuilder build `
--entitynamesfilter 'account;contact' `
--generatesdkmessages `
--messagenamesfilter 'examp_*' `
--emitfieldsclasses `
--emitVirtualAttributes `
--namespace 'MyApps.Model' `
--outdirectory 'c:\src\MyApps\Model' `
--writesettingsTemplateFile `
--serviceContextName 'OrgContext'
Важливо
Під час використання PowerShell потрібно взяти будь-які параметри рядка в одинарні лапки.
Результат цієї команди полягає в тому, що в папку c:\src\MyApps\Model записуються такі файли.
C:\src\MyApps\Model\
|---Осіб\
| |--account.cs
| |--contact.cs
|---OptionSets\
| |--addresstypes.cs
|---Повідомлення\
| |--examp_myapi.cs
|---EntityOptionSetEnum.cs
|---builderSettings.json
|---OrgContext.cs
builderSettings.json містить параметри, указані для команди. За його допомогою можна швидко відновити файли, коли зміниться. У наведеному нижче прикладі показано використання створеного buildersettings.json файлу з першої команди за допомогою параметрівTemplateFile:
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
}
Якщо передати параметри команді під час використання параметра settingsTemplateFile , параметри, передані до команди, перевизначають ці параметри у файлі builderSettings.json .
Не можна використовувати параметр settingsTemplateFile та параметр writesettingsTemplateFile одночасно.
Обов'язкові параметри для modelbuilder build
--outdirectory
-o
Запис каталогу для файлів сутності, повідомлень і параметрів.
Необов'язкові параметри для modelbuilder build
--emitentityetc
-etc
Якщо встановити, до створеного коду входить сутність ETC (код типу сутності).
Для цього параметра не потрібне значення. Це перемикач.
--emitfieldsclasses
-efc
Створення структури констант, яка містить усі імена полів за сутністю під час створення коду.
Для цього параметра не потрібне значення. Це перемикач.
--emitvirtualattributes
-eva
У разі встановлення включає допоміжні атрибути імен для підстановок, які дають змогу фільтрувати значення атрибутів первинного імені атрибутів підстановки.
Для цього параметра не потрібне значення. Це перемикач.
--entitynamesfilter
-enf
Фільтрує список сутностей, які отримуються під час читання даних із Dataverse. Передається у вигляді списку, відокремленого крапкою з комою. Використання форми <entitylogicalname>;<entitylogicalname>
--entitytypesfolder
-etf
Ім'я папки, що містить сутності. Стандартне ім'я – "Сутності".
--environment
-env
Указує цільовий аргумент Dataverse. Значення може бути URL-адресою GUID або абсолютним https. Якщо не вказано, використовуватиметься активна організація, вибрана для поточного профілю автентифікації.
--generateGlobalOptionSets
-go
Випромінювати всі глобальні набори параметрів. Примітка. Якщо сутність містить посилання на глобальний набір параметрів, вона виділяється, навіть якщо цей перемикач відсутній.
--generatesdkmessages
-a
Після встановлення випромінює класи повідомлень Sdk як частину створення коду.
Для цього параметра не потрібне значення. Це перемикач.
--language
-l
Мова, яка використовується для створеного коду проксі-сервера. Це значення може бути "CS" або "VB". Стандартна мова : "CS".
--logLevel
-ll
Рівень журналу. Значення за промовчанням – "Вимкнуто".
Використайте одне з таких значень:
OffCriticalErrorWarningInformationVerboseActivityTracingAll
--messagenamesfilter
-mnf
Фільтрує список повідомлень, які отримуються під час читання даних із Dataverse. У списку, розділеному крапкою з комою, завжди включаються обов'язкові повідомлення (Create, Update, Delete, Retrieve, RetrieveMultiple, Associate and Disassociate). Використовуйте зірочку в кінці або на початку (*) з іменами повідомлень, щоб дозволити всім повідомленням, починаючи з рядка або завершуючи ним. Використовуючи ім'я< повідомлення форми>;<ім'я> повідомлення.
--messagestypesfolder
-mtf
Ім'я папки, що містить повідомлення. Стандартне ім'я – "Повідомлення".
--namespace
-n
Простір імен для згенерованого коду. Простір імен за промовчанням – це глобальний простір імен.
--optionsetstypesfolder
-otf
Ім'я папки, що містить набори параметрів. Стандартне ім'я – "Набори параметрів".
--serviceContextName
-sctx
Ім'я створеного контексту служби. Якщо значення передано, воно використовується для контексту служби. Якщо ні, контекст служби не створюється.
--settingsTemplateFile
-stf
Містить параметри, які використовуватимуться для цього запуску побудовника моделей Dataverse, заміняє будь-які повторювані параметри в командному рядку. Не можна встановити, коли використовується функція --writesettingstemplate.
--suppressGeneratedCodeAttribute
-sgca
Якщо встановити цей параметр, усі згенеровані об'єкти позначаються обробником і версією створення коду
Для цього параметра не потрібне значення. Це перемикач.
--suppressINotifyPattern
Якщо цей параметр увімкнуто, обгортки INotify для властивостей і класів не записують.
--writesettingsTemplateFile
-wstf
Якщо встановити цей параметр, записує файл настройок до каталогу виводу з поточними переданими параметрами або параметрами за замовчуванням.
Зауваження
Нижче наведено рекомендації щодо використання pac modelbuilder build команди.
entitynamesfilter Установлення параметрів і messagenamesfilter параметрів
Увага!
Ми наполегливо рекомендуємо використовувати параметри entitynamesfilter і messagenamesfilter , щоб обмежити створені файли тими, які використовуватимуться в проекті. В іншому разі команда build спробує створити код для всіх таблиць і повідомлень із Dataverse. Процес обробки триватиме значну кількість часу.
Класи для повідомлень, знайдених у просторі імен Microsoft.Crm.Sdk.Messages і Microsoft.Xrm.Sdk.Messages , не створюються за допомогою цієї команди. У параметрі, наприклад настроювані дії, слід додати лише повідомлення, не знайдені в області messagenamesfilter .
Установлення suppressINotifyPattern , якщо ви не створюєте програму WPF
Обгортки INotify , які пригнічуються цією командою, використовуються для сценаріїв зв'язування даних із програмами WPF. Якщо ви не створюєте програму WPF із створеним кодом, вони не потрібні. Скористайтеся параметром suppressINotifyPattern , щоб заборонити їх.
Включити serviceContextName під час створення класів повідомлень
Якщо ви створюєте класи повідомлень, завжди слід додати параметр serviceContextName , щоб створити OrganizationServiceContextфайл , навіть якщо він не використовується. Для класів створених повідомлень потрібна властивість, встановлена в цьому файлі. Дізнайтеся більше про помилку, яка виникає, якщо цього не зробити.
Дивись також
Групи команд CLI платформи Microsoft Power Platform
Огляд CLI платформи Microsoft Power Platform