مشاركة عبر


pac modelbuilder

منشئ التعليمات البرمجية لواجهات برمجة تطبيقات Dataverse والجداول

استخدم الأمر pac modelbuilder build لإنشاء فئات .NET مرتبطة مبكرا لجداول Dataverse والرسائل المخصصة وفئة مشتقة من فئة OrganizationServiceContext. تعرف على المزيد حول استخدام هذا الأمر لإنشاء فئات مرتبطة مبكرا

الفئة المشتقة من OrganizationServiceContext:

  • يحافظ على الحالة على العميل لدعم ميزات مثل إدارة التغيير.
  • تنفيذ واجهة System.Linq.IQueryable وموفر استعلام .NET Language-Integrated Query (LINQ) حتى تتمكن من كتابة استعلامات LINQ باستخدام بيانات Dataverse.

لمزيد من المعلومات حول القدرات التي تمكنها أداة إنشاء التعليمات البرمجية هذه:

إشعار

يستبدل pac modelbuilder buildCrmSvcUtil.exe الأمر الموزع بحزمة Microsoft.CrmSdk.CoreTools NuGet.

الاوامر

أمر الوصف
بناء pac modelbuilder إنشاء نموذج تعليمة برمجية لواجهات برمجة تطبيقات Dataverse والجداول

بناء pac modelbuilder

إنشاء نموذج تعليمة برمجية لواجهات برمجة تطبيقات Dataverse والجداول

إشعار

قبل أن تتمكن من build استخدام الأمر يجب عليك أولا الاتصال ب Dataverse باستخدام الأمر pac auth create . إذا كان لديك اتصالات متعددة، فاستخدم تحديد pac auth لاختيار بيئة 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
|---Messages\
| |--examp_myapi.cs
|---EntityOptionSetEnum.csbuilderSettings.json
|---
|---

يحتوي 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. تم تمريره كقائمة مفصولة بفاصلة منقوطة. استخدام اسم الكيان النموذجي<>؛<اسم سجل الكيان>

--entitytypesfolder -etf

اسم المجلد الذي يحتوي على كيانات. الاسم الافتراضي هو "الكيانات".

--environment -env

تحديد Dataverse الهدف. قد تكون القيمة GUID أو مطلق https URL. عند عدم التحديد، سيتم استخدام المؤسسة النشطة المحددة لملف تعريف المصادقة الحالي.

--generateGlobalOptionSets -go

إصدار كافة مجموعات الخيارات العمومية. ملاحظة: إذا كان الكيان يحتوي على مرجع إلى مجموعة خيارات عمومية، يتم إصداره حتى إذا لم يكن رمز التبديل هذا موجودا.

--generatesdkmessages -a

عند التعيين، يصدر فئات رسائل Sdk كجزء من إنشاء التعليمات البرمجية.

لا تتطلب هذه المعلمة أي قيمة. إنه مفتاح

--language -l

اللغة التي يجب استخدامها للتعليمات البرمجية للوكيل التي تم إنشاؤها. يمكن أن تكون هذه القيمة إما "CS" أو "VB". اللغة الافتراضية هي "CS".

--logLevel -ll

مستوى السجل. القيمة الافتراضية هي "إيقاف التشغيل".

استخدم إحدى هذه القيم:

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

--messagenamesfilter -mnf

تصفية قائمة الرسائل التي يتم استردادها عند قراءة البيانات من Dataverse. تم تمريرها كقائمة مفصولة بفواصل منقوطة، يتم تضمين الرسائل المطلوبة (إنشاء وتحديث وحذف واسترداد واسترداد وربط وإلغاء اقتران) دائما. استخدم علامة نجمية لاحقة أو بادئة (*) مع أسماء الرسائل للسماح لجميع الرسائل التي تبدأ بسلسلة أو تنتهي بها. استخدام اسم< رسالة النموذج>؛<اسم> الرسالة.

--messagestypesfolder -mtf

اسم المجلد الذي يحتوي على رسائل. الاسم الافتراضي هو "الرسائل".

--namespace -n

مساحة الاسم للتعليمات البرمجية التي تم إنشاؤها. مساحة الاسم الافتراضية هي مساحة الاسم العمومية.

--optionsetstypesfolder -otf

اسم المجلد الذي يحتوي على مجموعات الخيارات. الاسم الافتراضي هو "OptionSets".

--serviceContextName -sctx

اسم سياق الخدمة الذي تم إنشاؤه. إذا تم تمرير قيمة، يتم استخدامها لسياق الخدمة. إذا لم يكن الأمر كما هو، فلن يتم إنشاء سياق خدمة.

--settingsTemplateFile -stf

يحتوي على إعدادات لاستخدامها في هذا التشغيل من Dataverse Model Builder، ويتجاوز أي معلمات مكررة على سطر الأوامر. لا يمكن تعيين عند استخدام --writesettingstemplate.

--suppressGeneratedCodeAttribute -sgca

عند التعيين، يمنع هذا كافة الكائنات التي تم إنشاؤها التي يتم وضع علامة عليها باستخدام محرك إنشاء التعليمات البرمجية والإصدار

لا تتطلب هذه المعلمة أي قيمة. إنه مفتاح

--suppressINotifyPattern

عند التمكين، لا تكتب برامج تضمين INotify للخصائص والفئات.

--writesettingsTemplateFile -wstf

عند التعيين، يكتب ملف إعدادات إلى دليل الإخراج مع الإعدادات الحالية التي تم تمريرها أو الإعدادات الافتراضية.

ملاحظات

فيما يلي توصيات لاستخدام pac modelbuilder build الأمر .

entitynamesfilter تعيين المعلمات و messagenamesfilter

تنبيه

نوصي بشدة باستخدام معلمات entitynamesfilter و messagenamesfilter لقصر الملفات التي تم إنشاؤها على تلك التي ستستخدمها في مشروعك. وإلا، سيحاول أمر الإنشاء إنشاء تعليمات برمجية لكافة الجداول والرسائل من Dataverse. سيستغرق هذا قدرا كبيرا من الوقت للمعالجة.

لا يتم إنشاء فئات الرسائل الموجودة في مساحة الاسم Microsoft.Crm.Sdk.MessagesوMicrosoft.Xrm.Sdk.Messages باستخدام هذا الأمر. يجب تضمين الرسائل التي لم يتم العثور عليها هناك في المعلمة messagenamesfilter فقط، مثل الإجراءات المخصصة.

تعيين suppressINotifyPattern إذا كنت لا تنشئ تطبيق WPF

INotify يتم استخدام برامج التضمين التي تم منعها بواسطة هذا الأمر لسيناريوهات ربط البيانات مع تطبيقات WPF. إذا كنت لا تنشئ تطبيق WPF مع التعليمات البرمجية التي تم إنشاؤها، فلن تحتاج إليها. استخدم المعلمة suppressINotifyPattern لمنعها.

تضمين serviceContextName عند إنشاء فئات الرسائل

إذا كنت تقوم بإنشاء فئات الرسائل، يجب عليك دائما تضمين المعلمة serviceContextName لإنشاء OrganizationServiceContext، حتى إذا كنت لا تستخدمه. تتطلب فئات الرسائل التي تم إنشاؤها تعيين خاصية في هذا الملف. تعرف على المزيد حول الخطأ الذي يحدث إذا لم تقم بتعيين هذا.

راجع أيضًا

مجموعات أوامر Microsoft Power Platform CLI
نظرة عامة على Microsoft Power Platform CLI