إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
منشئ التعليمات البرمجية لواجهات برمجة تطبيقات Dataverse والجداول
استخدم الأمر pac modelbuilder build لإنشاء فئات .NET مرتبطة مبكرا لجداول Dataverse والرسائل المخصصة وفئة مشتقة من فئة OrganizationServiceContext. تعرف على المزيد حول استخدام هذا الأمر لإنشاء فئات مرتبطة مبكرا
الفئة المشتقة من OrganizationServiceContext:
- يحافظ على الحالة على العميل لدعم ميزات مثل إدارة التغيير.
- تنفيذ واجهة System.Linq.IQueryable وموفر استعلام .NET Language-Integrated Query (LINQ) حتى تتمكن من كتابة استعلامات LINQ باستخدام بيانات Dataverse.
لمزيد من المعلومات حول القدرات التي تمكنها أداة إنشاء التعليمات البرمجية هذه:
- البرمجة المتأخرة والمرتبطة مبكرا باستخدام خدمة المنظمة
- استخدام OrganizationServiceContext
- إنشاء استعلامات باستخدام LINQ
إشعار
يستبدل 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
مستوى السجل. القيمة الافتراضية هي "إيقاف التشغيل".
استخدم إحدى هذه القيم:
OffCriticalErrorWarningInformationVerboseActivityTracingAll
--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