Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Generator Kode untuk API dan Tabel Dataverse
pac modelbuilder build Gunakan perintah untuk menghasilkan kelas .NET terikat awal untuk tabel Dataverse, pesan kustom, dan kelas yang berasal dari Kelas OrganizationServiceContext. Pelajari selengkapnya tentang menggunakan perintah ini untuk menghasilkan kelas terikat awal
Kelas yang berasal dari OrganizationServiceContext:
- Mempertahankan status pada klien untuk mendukung fitur seperti manajemen perubahan.
- Menerapkan System.Linq.IQueryable Interface dan penyedia kueri .NET Language-Integrated Query (LINQ) sehingga Anda dapat menulis kueri LINQ menggunakan data Dataverse.
Untuk informasi selengkapnya tentang kemampuan yang diaktifkan alat pembuatan kode ini:
- Pemrograman terikat terlambat dan terikat awal menggunakan layanan Organisasi
- Menggunakan OrganizationServiceContext
- Membuat kueri dengan LINQ
Nota
Perintah pac modelbuilder build menggantikan yang didistribusikan CrmSvcUtil.exe dengan paket NuGet Microsoft.CrmSdk.CoreTools .
Commands
| Command | Description |
|---|---|
| pac modelbuilder build | Membangun model kode untuk API dan Tabel Dataverse |
pac modelbuilder build
Membangun model kode untuk API dan Tabel Dataverse
Nota
Sebelum dapat menggunakan perintah, build Anda harus terlebih dahulu menyambungkan ke Dataverse menggunakan pac perintah auth create . Jika Anda memiliki beberapa koneksi, gunakan pac autentikasi pilih untuk memilih lingkungan Dataverse yang ingin Anda hasilkan kodenya.
Example
Contoh berikut menunjukkan cara menggunakan build perintah dengan prompt perintah.
pac modelbuilder build ^
--entitynamesfilter account;contact ^
--generatesdkmessages ^
--messagenamesfilter examp_* ^
--emitfieldsclasses ^
--emitVirtualAttributes ^
--namespace MyApps.Model ^
--outdirectory c:\src\MyApps\Model ^
--writesettingsTemplateFile ^
--serviceContextName OrgContext
Dan perintah yang sama menggunakan PowerShell:
pac modelbuilder build `
--entitynamesfilter 'account;contact' `
--generatesdkmessages `
--messagenamesfilter 'examp_*' `
--emitfieldsclasses `
--emitVirtualAttributes `
--namespace 'MyApps.Model' `
--outdirectory 'c:\src\MyApps\Model' `
--writesettingsTemplateFile `
--serviceContextName 'OrgContext'
Penting
Anda perlu mengelilingi parameter string apa pun dengan tanda kutip tunggal saat menggunakan PowerShell.
Hasil dari perintah ini adalah bahwa file berikut ditulis ke c:\src\MyApps\Model folder .
C:\src\MyApps\Model\
|---Entitas\
| |--account.cs
| |--contact.cs
|---OptionSets\
| |--addresstypes.cs
|---Messages\
| |--examp_myapi.cs
|---EntityOptionSetEnum.cs
|---builderSettings.json
|--- OrgContext.cs
builderSettings.json berisi parameter yang Anda tentukan untuk perintah . Anda dapat menggunakannya untuk meregenerasi file dengan cepat saat hal-hal berubah. Contoh berikut menunjukkan penggunaan file yang dihasilkan buildersettings.json dari perintah pertama menggunakan settingsTemplateFile:
pac modelbuilder build `
--outdirectory c:\src\MyApps\Model `
--settingsTemplateFile c:\src\MyApps\Model\builderSettings.json
Anda juga dapat memilih untuk membuat builderSettings.json file dan menggunakannya alih-alih meneruskan semua parameter ke perintah . Berikut ini adalah contoh yang setara dengan contoh pertama di atas:
{
"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
}
Jika Anda meneruskan parameter ke perintah saat menggunakan parameter settingsTemplateFile , parameter yang diteruskan ke perintah akan mengambil alih set tersebut builderSettings.json dalam file.
Anda tidak dapat menggunakan parameter settingsTemplateFile dan parameter writesettingsTemplateFile secara bersamaan.
Parameter yang Diperlukan untuk modelbuilder build
--outdirectory
-o
Tulis direktori untuk file entitas, pesan, dan optionset.
Parameter Opsional untuk modelbuilder build
--emitentityetc
-etc
Saat diatur, sertakan entitas ETC ( kode jenis entitas ) dalam kode yang dihasilkan.
Parameter ini tidak memerlukan nilai. Ini saklar.
--emitfieldsclasses
-efc
Hasilkan struktur konstanta yang berisi semua nama bidang menurut entitas pada saat pembuatan kode.
Parameter ini tidak memerlukan nilai. Ini saklar.
--emitvirtualattributes
-eva
Saat diatur, sertakan atribut nama pendukung untuk pencarian yang memungkinkan pemfilteran pada nilai atribut nama utama atribut pencarian.
Parameter ini tidak memerlukan nilai. Ini saklar.
--entitynamesfilter
-enf
Memfilter daftar entitas diambil saat membaca data dari Dataverse. Diteruskan sebagai daftar terpisah titik koma. Menggunakan entitylogicalname< formulir>;<entitylogicalname>
--entitytypesfolder
-etf
Nama folder yang berisi entitas. Nama defaultnya adalah 'Entitas'.
--environment
-env
Menentukan target Dataverse. Nilainya mungkin berupa URL Guid atau https absolut. Ketika tidak ditentukan, organisasi aktif yang dipilih untuk profil autentikasi saat ini akan digunakan.
--generateGlobalOptionSets
-go
Keluarkan semua Global OptionSets. Catatan: Jika entitas berisi referensi ke optionset global, entitas akan dipancarkan meskipun sakelar ini tidak ada.
--generatesdkmessages
-a
Saat diatur, memancarkan kelas pesan Sdk sebagai bagian dari pembuatan kode.
Parameter ini tidak memerlukan nilai. Ini saklar.
--language
-l
Bahasa yang digunakan untuk kode proksi yang dihasilkan. Nilai ini dapat berupa 'CS' atau 'VB'. Bahasa defaultnya adalah 'CS'.
--logLevel
-ll
Tingkat log. Nilai defaultnya adalah 'Nonaktif'.
Gunakan salah satu nilai ini:
OffCriticalErrorWarningInformationVerboseActivityTracingAll
--messagenamesfilter
-mnf
Memfilter daftar pesan yang diambil saat membaca data dari Dataverse. Diteruskan sebagai daftar yang dipisahkan titik koma, pesan yang diperlukan (Buat, Perbarui, Hapus, Ambil, RetrieveMultiple, Kaitkan dan Pisahkan) selalu disertakan. Gunakan tanda bintang berikutnya atau terdepan (*) dengan nama pesan untuk memungkinkan semua pesan dimulai dengan atau diakhapi dengan string. Menggunakan nama< pesan formulir>;<nama> pesan.
--messagestypesfolder
-mtf
Nama folder yang berisi pesan. Nama defaultnya adalah 'Pesan'.
--namespace
-n
Namespace untuk kode yang dihasilkan. Namespace default adalah namespace global.
--optionsetstypesfolder
-otf
Nama folder yang berisi set opsi. Nama defaultnya adalah 'OptionSets'.
--serviceContextName
-sctx
Nama untuk konteks layanan yang dihasilkan. Jika nilai diteruskan, nilai tersebut digunakan untuk Konteks Layanan. Jika tidak, tidak ada Konteks Layanan yang dihasilkan.
--settingsTemplateFile
-stf
Berisi Pengaturan yang akan digunakan untuk menjalankan Penyusun Model Dataverse ini, mengambil alih parameter duplikat apa pun pada baris perintah. Tidak dapat diatur ketika --writesettingstemplate digunakan.
--suppressGeneratedCodeAttribute
-sgca
Ketika diatur, ini menekan semua objek yang dihasilkan yang ditandai dengan mesin dan versi pembuatan kode
Parameter ini tidak memerlukan nilai. Ini saklar.
--suppressINotifyPattern
Saat diaktifkan, tidak menulis pembungkus INotify untuk properti dan kelas.
--writesettingsTemplateFile
-wstf
Saat diatur, menulis file pengaturan ke direktori output dengan pengaturan yang diteruskan saat ini atau pengaturan default.
Komentar
Berikut ini adalah rekomendasi untuk menggunakan pac modelbuilder build perintah .
entitynamesfilter Mengatur parameter dan messagenamesfilter
Perhatian
Kami sangat menyarankan Anda menggunakan parameter entitynamesfilter dan messagenamesfilter untuk membatasi file yang dihasilkan ke yang akan Anda gunakan dalam proyek Anda. Jika tidak, perintah build akan mencoba menghasilkan kode untuk semua tabel dan pesan dari Dataverse. Ini akan memakan waktu yang signifikan untuk diproses.
Kelas untuk pesan yang ditemukan di namespace Microsoft.Crm.Sdk.Messages dan Microsoft.Xrm.Sdk.Messages tidak dihasilkan menggunakan perintah ini. Anda seharusnya hanya menyertakan pesan yang tidak ditemukan di parameter, messagenamesfilter seperti tindakan kustom.
Atur suppressINotifyPattern jika Anda tidak membangun aplikasi WPF
Pembungkus INotify yang ditekan oleh perintah ini digunakan untuk skenario pengikatan data dengan aplikasi WPF. Jika Anda tidak membangun aplikasi WPF dengan kode yang dihasilkan, Anda tidak memerlukannya. Gunakan parameter suppressINotifyPattern untuk menekannya.
Sertakan serviceContextName saat membuat kelas pesan
Jika Anda membuat kelas pesan, Anda harus selalu menyertakan parameter serviceContextName untuk menghasilkan OrganizationServiceContext, bahkan jika Anda tidak menggunakannya. Kelas pesan yang dihasilkan memerlukan properti yang diatur dalam file ini. Pelajari selengkapnya tentang kesalahan yang terjadi jika Anda tidak mengatur ini.
Lihat juga
Grup Perintah CLI Microsoft Power Platform
Gambaran umum CLI Microsoft Power Platform