שתף דרך


pac modelbuilder

Code Generator עבור ממשקי API וטבלאות Dataverse

השתמש בפקודה pac modelbuilder build כדי ליצור מחלקות .NET מאוגדות מוקדם עבור טבלאות Dataverse, הודעות מותאמות אישית ומחלקה הנגזרת מ- OrganizationServiceContext Class. קבל מידע נוסף על השימוש בפקודה זו כדי ליצור מחלקות מאוגדות קודמות

הכיתה הנגזרת מ:OrganizationServiceContext

  • שומר על המצב בלקוח כדי לתמוך בתכונות כגון ניהול שינויים.
  • יישום הממשק System.Linq.IQueryable וספק השאילתות .NET Language-Integrated Query (LINQ) כדי שתוכל לכתוב שאילתות LINQ באמצעות נתונים Dataverse.

לקבלת מידע נוסף אודות היכולות שמפתח קוד זה מאפשר:

הערה

הפקודה pac modelbuilder build מחליפה את המבווזר CrmSvcUtil.exe בחבילה Microsoft.CrmSdk.CoreTools NuGet.

פקודות

פקודה תיאור
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 מהפקודה הראשונה באמצעות settingsTemplateFile:

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

מציין את target Dataverse. הערך עשוי להיות GUID או כתובת URL מוחלטת של https. כאשר לא צוין, המערכת תשמש את הארגון הפעיל שנבחר עבור פרופיל האימות הנוכחי.

--generateGlobalOptionSets -go

פולט את כל ה- OptionSets הכלליים. הערה: אם ישות מכילה הפניה ל- optionset כללי, היא תפלט גם אם בורר זה אינו קיים.

--generatesdkmessages -a

כאשר אפשרות זו מוגדרת, היא פולטת מחלקות הודעות Sdk כחלק מהפקת קוד.

לפרמטר זה אין כל ערך. זה מתג.

--language -l

השפה בה יש להשתמש עבור קוד ה- Proxy שנוצר. ערך זה יכול להיות 'CS' או 'VB'. שפת ברירת המחדל היא 'CS'.

--logLevel -ll

רמת יומן רישום. ערך ברירת המחדל הוא 'כבוי'.

השתמש באחד מהערכים הבאים:

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

--messagenamesfilter -mnf

סינון רשימת ההודעות המאוחזרות בעת קריאת נתונים מ- Dataverse. הודעות נדרשות שהועברו כרשימה מופרדת באמצעות נקודה-פסיק (יצירה, עדכון, מחיקה, אחזור, RetrieveMultiple, שיוך בביטול שיוך) נכללות תמיד. השתמש בכוכבית נגררת או מובילה (*) עם שמות ההודעות כדי לאפשר לכל ההודעות שמתחילות במחרוזת או מסתיימות בה. באמצעות שם <ההודעה של הטופס>;<שם הודעה>.

--messagestypesfolder -mtf

שם תיקיה המכיל הודעות. שם ברירת המחדל הוא 'הודעות'.

--namespace -n

מרחב השמות של הקוד שנוצר. מרחב השמות המוגדר כברירת מחדל הוא מרחב השמות הכללי.

--optionsetstypesfolder -otf

שם תיקיה המכיל ערכות אפשרויות. שם ברירת המחדל הוא 'OptionSets'.

--serviceContextName -sctx

השם עבור הקשר השירות שנוצר. אם הערך מועבר, הוא משמש עבור הקשר השירות. אם לא, לא נוצר הקשר שירות.

--settingsTemplateFile -stf

מכיל הגדרות לשימוש עבור הפעלה זו של בונה המודלים Dataverse, עוקפת פרמטרים כפולים בשורת הפקודה. לא ניתן להגדיר בעת שימוש ב- --writesettingstemplate.

--suppressGeneratedCodeAttribute -sgca

כאשר אפשרות זו מוגדרת, פעולה זו תסתיר את כל האובייקטים שנוצרו המתויגים עם מנגנון יצירת הקוד והגירסה

לפרמטר זה אין כל ערך. זה מתג.

--suppressINotifyPattern

כאשר אפשרות זו זמינה, אינה כותב את עטיפת INotify עבור מאפיינים וכיתות.

--writesettingsTemplateFile -wstf

כאשר אפשרות זו מוגדרת, כתיבת קובץ הגדרות אל ספריית הפלט עם ההגדרות הנוכחיות שהועברו או הגדרות ברירת המחדל.

הערות

להלן המלצות לשימוש בפקודה pac modelbuilder build .

הגדרת הפרמטרים entitynamesfiltermessagenamesfilter ו-

שים לב

מומלץ מאוד להשתמש בפרמטרים entitynamesfilter ו- messagenamesfilter כדי להגביל את הקבצים שנוצרו לאלה שבהם תשתמש בפרוייקט. אחרת, הפקודה build תנסה ליצור קוד עבור כל הטבלאות וההודעות מ- Dataverse. תהליך זה יחלוף זמן רב.

כיתות עבור ההודעות שנמצאו במרווח השמות Microsoft.Crm.Sdk.Messages ו- Microsoft.Xrm.Sdk.Messages אינן נוצרות באמצעות פקודה זו. עליך לכלול שם רק הודעות שלא נמצאו בפרמטר messagenamesfilter , כגון פעולות מותאמות אישית.

הגדר suppressINotifyPattern אם אינך בונה יישום WPF

העטיפות INotify שהוסתירו על-ידי פקודה זו משמשות עבור תרחישי איגוד נתונים עם יישומי WPF. אם אינך בונה יישום WPF עם הקוד שנוצר, אינך זקוק לו. השתמש בפרמטר suppressINotifyPattern כדי להעלים אותם.

כלול serviceContextName בעת יצירת מחלקות הודעות

אם אתה יוצר מחלקות הודעות, עליך לכלול תמיד את הפרמטר serviceContextNameOrganizationServiceContextכדי ליצור , גם אם אינך משתמש בו. מחלקות ההודעות שנוצרו דורשות הגדרת מאפיין בקובץ זה. קבל מידע נוסף על השגיאה שמתרחשת אם לא תגדיר זאת.

ראה גם

קבוצות פקודות CLI של Microsoft Power Platform
מבט כולל על Microsoft Power Platform CLI