หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ตัวสร้างโค้ดสําหรับ Dataverse API และตาราง
ใช้คําสั่งรุ่น pac modelbuilder เพื่อสร้างคลาส .NET ที่ผูกไว้ล่วงหน้าสําหรับตาราง Dataverse ข้อความแบบกําหนดเอง และคลาสที่สืบทอดมาจากระดับ OrganizationServiceContext เรียนรู้เพิ่มเติมเกี่ยวกับการใช้คําสั่งนี้เพื่อสร้างคลาสขั้น bound
คลาสที่ได้รับมาจาก OrganizationServiceContext:
- รักษาสถานะบนไคลเอ็นต์เพื่อสนับสนุนคุณลักษณะต่าง ๆ เช่น การจัดการการเปลี่ยนแปลง
- ใช้ตัว ให้บริการคิวรี System.Linq.IQueryable และ .NET Language-Integrated Query (LINQ) เพื่อให้คุณสามารถเขียนคิวรี LINQ โดยใช้ข้อมูล verse
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับความสามารถที่เครื่องมือสร้างโค้ดนี้เปิดใช้งาน:
- การเขียนโปรแกรมขั้น Late-bound และ early-bound โดยใช้บริการขององค์กร
- ใช้ OrganizationServiceContext
- สร้างคิวรีด้วย LINQ
Note
คําสั่ง pac modelbuilder build แทนที่ CrmSvcUtil.exe การแจกจ่ายด้วยแพคเกจ Microsoft.CrmSdk.CoreTools NuGet
คำสั่ง
| คำสั่ง | คำอธิบาย |
|---|---|
| รุ่น pac modelbuilder | สร้างแบบจําลองโค้ดสําหรับ Dataverse API และตาราง |
รุ่น pac modelbuilder
สร้างแบบจําลองโค้ดสําหรับ Dataverse API และตาราง
Note
ก่อนที่คุณจะสามารถใช้ 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\
| |
|--- ข้อความ\
| |--examp_myapi.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 ในเวลาเดียวกัน
พารามิเตอร์ที่จําเป็นสําหรับการสร้างแบบจําลอง
--outdirectory
-o
เขียนไดเรกทอรีสําหรับเอนทิตี ข้อความ และไฟล์ชุดตัวเลือก
พารามิเตอร์ตัวเลือกสําหรับการสร้างแบบจําลอง
--emitentityetc
-etc
เมื่อตั้งค่า แล้วให้รวมเอนทิตี ETC (รหัสประเภทเอนทิตี ) ในรหัสที่สร้างขึ้น
พารามิเตอร์นี้ไม่จําเป็นต้องมีค่า มันเป็นการสลับ
--emitfieldsclasses
-efc
สร้างโครงสร้างค่าคงที่ที่ประกอบด้วยชื่อเขตข้อมูลทั้งหมดตามเอนทิตีในเวลาที่สร้างโค้ด
พารามิเตอร์นี้ไม่จําเป็นต้องมีค่า มันเป็นการสลับ
--emitvirtualattributes
-eva
เมื่อตั้งค่า ให้รวมแอตทริบิวต์ชื่อที่สนับสนุนสําหรับการค้นหาที่เปิดใช้งานการกรองค่าแอตทริบิวต์ชื่อหลักของแอตทริบิวต์การค้นหา
พารามิเตอร์นี้ไม่จําเป็นต้องมีค่า มันเป็นการสลับ
--entitynamesfilter
-enf
กรองรายการของเอนทิตีจะถูกเรียกใช้เมื่ออ่านข้อมูลจาก Dataverse ส่งผ่านเป็นรายการที่คั่นด้วนเซมิโคลอน การใช้ฟอร์ม<ชื่อแบบลอการิ><ทธิ์entitylogicalname>
--entitytypesfolder
-etf
ชื่อโฟลเดอร์ที่ประกอบด้วยเอนทิตี ชื่อเริ่มต้นคือ 'เอนทิตี'
--environment
-env
ระบุ Dataverse เป้าหมาย ค่าอาจเป็น Guid หรือ https URL แบบสัมบูรณ์ เมื่อไม่ได้ระบุ องค์กรที่ใช้งานอยู่ที่เลือกสําหรับโพรไฟล์การรับรองความถูกต้องปัจจุบันจะถูกใช้
--generateGlobalOptionSets
-go
ปล่อยชุดตัวเลือกส่วนกลางทั้งหมด หมายเหตุ: ถ้าเอนทิตีมีการอ้างอิงไปยังชุดตัวเลือกส่วนกลาง จะมีการปล่อยไว้แม้ว่าสวิตช์นี้จะไม่ปรากฏ
--generatesdkmessages
-a
เมื่อตั้งค่า ปล่อยคลาสของข้อความ Sdk เป็นส่วนหนึ่งของการสร้างโค้ด
พารามิเตอร์นี้ไม่จําเป็นต้องมีค่า มันเป็นการสลับ
--language
-l
ภาษาที่ใช้สําหรับรหัสพร็อกซีที่สร้างขึ้น ค่านี้สามารถเป็น 'CS' หรือ 'VB' อย่างใดอย่างหนึ่ง ภาษาเริ่มต้นคือ 'CS'
--logLevel
-ll
ระดับรายการบันทึก ค่าเริ่มต้นคือ 'ปิด'
ใช้หนึ่งในค่าเหล่านี้:
OffCriticalErrorWarningInformationVerboseActivityTracingAll
--messagenamesfilter
-mnf
กรองรายการของข้อความที่ถูกเรียกใช้เมื่ออ่านข้อมูลจาก Dataverse ถูกส่งผ่านเป็นรายการคั่นด้วยเครื่องหมายอัฒภาค ข้อความที่จําเป็น (สร้าง อัปเดต ลบ เรียกใช้ RetrieveMultiple Associate และ Disassociate) จะรวมอยู่เสมอ ใช้เครื่องหมายดอกจันต่อท้ายหรือนําหน้า (*) ด้วยชื่อของข้อความเพื่ออนุญาตให้ข้อความทั้งหมดที่ขึ้นต้นด้วยหรือลงท้ายด้วยสตริง การใช้ชื่อ<>ข้อความของฟอร์ม<ชื่อ>ข้อความ
--messagestypesfolder
-mtf
ชื่อโฟลเดอร์ที่มีข้อความ ชื่อเริ่มต้นคือ 'ข้อความ'
--namespace
-n
เนมสเปซสําหรับโค้ดที่สร้างขึ้น เนมสเปซเริ่มต้นคือ namespace ส่วนกลาง
--optionsetstypesfolder
-otf
ชื่อโฟลเดอร์ที่มีชุดตัวเลือก ชื่อเริ่มต้นคือ 'OptionSets'
--serviceContextName
-sctx
ชื่อสําหรับบริบทบริการที่สร้างขึ้น ถ้ามีการส่งผ่านค่า ค่าดังกล่าวจะใช้สําหรับบริบทบริการ ถ้าไม่ใช่ จะไม่มีการสร้างบริบทบริการ
--settingsTemplateFile
-stf
ประกอบด้วยการตั้งค่าที่จะใช้สําหรับการเรียกใช้ตัวสร้างแบบจําลอง Dataverse นี้ แทนที่พารามิเตอร์ที่ซ้ํากันบนบรรทัดคําสั่ง ไม่สามารถตั้งค่าได้เมื่อใช้ --writesettingstemplate
--suppressGeneratedCodeAttribute
-sgca
เมื่อตั้งค่า การดําเนินการนี้จะระงับออบเจ็กต์ที่สร้างขึ้นทั้งหมดที่ถูกแท็กด้วยกลไกการสร้างโค้ดและเวอร์ชัน
พารามิเตอร์นี้ไม่จําเป็นต้องมีค่า มันเป็นการสลับ
--suppressINotifyPattern
เมื่อเปิดใช้งาน ไม่เขียนตัวรวบ INotify สําหรับคุณสมบัติและคลาส
--writesettingsTemplateFile
-wstf
เมื่อตั้งค่าแล้ว ให้เขียนไฟล์การตั้งค่าออกไปยังไดเรกทอรีผลลัพธ์ด้วยการตั้งค่าที่ส่งผ่านปัจจุบันหรือการตั้งค่าเริ่มต้น
หมายเหตุ
ต่อไปนี้คือคําแนะนําสําหรับการใช้ pac modelbuilder build คําสั่ง
entitynamesfilterตั้งค่าพารามิเตอร์ และmessagenamesfilter
ข้อควรระวัง
เราขอแนะนําให้คุณใช้พารามิเตอร์ entitynamesfilter และ messagenamesfilter เพื่อจํากัดไฟล์ที่สร้างขึ้นไปยังไฟล์ที่คุณจะใช้ในโครงการของคุณ มิฉะนั้น คําสั่งบิลด์จะพยายามสร้างโค้ดสําหรับตารางและข้อความทั้งหมดจาก Dataverse การดําเนินการนี้จะใช้เวลาสักครู่
ระดับชั้นสําหรับข้อความที่พบใน Microsoft.Crm.Sdk.Messages และ Microsoft.Xrm.Sdk.Messages namespace ไม่ได้สร้างขึ้นโดยใช้คําสั่งนี้ คุณควรรวมเฉพาะข้อความที่พบใน messagenamesfilter พารามิเตอร์เท่านั้น เช่น การดําเนินการแบบกําหนดเอง
ตั้งค่า suppressINotifyPattern ถ้าคุณไม่ได้สร้างแอปพลิเคชัน WPF
wrappers INotify ที่จะถูกระงับโดยคําสั่งนี้ใช้สําหรับสถานการณ์ databinding กับแอปพลิเคชัน WPF ถ้าคุณไม่ได้สร้างแอปพลิเคชัน WPF ด้วยโค้ดที่สร้างขึ้น คุณไม่จําเป็นต้องใช้ ใช้พารามิเตอร์ suppressINotifyPattern เพื่อระงับพารามิเตอร์เหล่านั้น
รวม serviceContextName เมื่อสร้างคลาสข้อความ
ถ้าคุณกําลังสร้างระดับชั้นข้อความ คุณควรรวมพารามิเตอร์ serviceContextName เพื่อสร้าง OrganizationServiceContextแม้ว่าคุณไม่ได้ใช้ ระดับชั้นข้อความที่สร้างขึ้นจําเป็นต้องมีการตั้งค่าคุณสมบัติในแฟ้มนี้ เรียนรู้เพิ่มเติมเกี่ยวกับข้อผิดพลาดที่เกิดขึ้นถ้าคุณไม่ได้ตั้งค่านี้
(ดูเพิ่มเติม )
กลุ่มคําสั่ง Microsoft Power Platform CLI
ภาพรวม Microsoft Power Platform CLI