إنشاء ميزات مخصصة لمشاريع قاعدة بيانات
يمكنك توسيع موجود مشروع قاعدة بيانات الأنواع بواسطة إضافة الميزات الخاصة بك. على سبيل المثال، يمكنك إنشاء ميزة لا شيء كل الوقت الذي مشروع قاعدة بيانات هو تم تحميله أو حفظها. يمكنك أيضا إنشاء موفر مخطط قاعدة بيانات الخاصة بك و دعم نظام مشروع. ومع ذلك، التي اكتب من التوافق مع البرامج الخارجية هو لا تغطي الدورة th هو المحتوى.
المهام الشائعة
المهام الشائعة |
محتوى إضافي |
---|---|
معرفة المزيد حول النقاط التوافق مع البرامج الخارجية:يمكنك قراءة حول التصميم مشروع قاعدة بيانات القابلية للتوسعة. |
|
إنشاء ميزة مشروع نموذج:معرفة الخطوات اللازمة لإنشاء ميزة مشروع مخصصة لذلك dهوplays صندوق حوار عند مشروع قاعدة البيانات هو تم تحميله. في حالة اتباع هذه walkthroughs، سوف:
|
|
يثّبت إحدى ميزات مخصصة لمشروع: بعد بنية وبناء ميزة مشروع، يجب تثبيته قبل Visual Studioسوف تتعرف على it. |
أهداف للامتداد مشروع
رئيسي الأهداف لقاعدة بيانات مشروع ميزات التوافق مع البرامج الخارجية في Visual Studio 2010هي كالتالي:
عرض المكونات الرئيسية من خلال الواجهات
يحتفظ هذا الأسلوب بالنظام مشروع متناسقة مع الطراز المخطط، باستخدام واجهات بدلاً من فئات مجردة. فئة واحدة خرسانة المتوقع لتنفيذ العديد من الواجهات.الميزات التي تم إنشاؤها بالقابلية للتوسعة المدير
ميزات المسؤولة عن الأجزاء الأساسية لنظام بما في ذلك مستكشف الحل وطريقة عرض مخطط، ترقية مشروع ومشروع خصائص.يمكن توسيع الميزات
يمكن استخدام ميزات إدارة التوافق مع البرامج الخارجية، XMLالملفات، والسجل أو غير ذلك يؤجل لتوفير تلك التوافق مع البرامج الخارجية.يتم عرض الخدمات من خلال الواجهة الخاصة بها
DataPackageيطبقIServiceProvider. أي يجب أن تتم معالجة مشتركة للتحدث عن بين الميزات من خلال خدمة في هذه المستويات. التي يجب أن لا تعرض ميزة كـ الخدمة. بدلاً من ذلك، قم بإنشاء واجهة جديدة، clكـs مجمع، وثم يعرض برنامج تضمين كـ الخدمة.أحداث محرك أقراص النظام مشروع
DataPackageو ProjectNode()تقديم الأحداث التي تقوم بتمكين ميزات إلى محرك الأقراص في نظام مشروع. بالإضافة إلى ذلك، يمكن لميزات توفير الأحداث من خلال الخدمة الخاصة بها الواجهات. في بعض الحالات، قد تقرر إلى استخدام مفوض. قرار الذي ميزة يعالج إجراء، يمكنك استخدام هذا أسلوب حدث الموقع يمكن التفاعل ميزة s، يستند إلى الأفضلية.لا تعتمد تشغيل ترتيب رسائل
إذا كان ترتيب lهوteners لإحداث هو الهامة، ثم خذ بعين الاعتبار إنشاء حدثاً ما قبل أو بعد أو إضافة خاصية أولوية إلى فئة مشتقة من EventArg.
تجميعات طراز مكوّن
تجميعات التالية توفر النظام مشروع قاعدة بيانات في Visual Studio.
Microsoft.VisualStudio.بيانات.مخطط.حزمة.dll
مشروع النظام الأساسي ويوفر ميزة bootstrapping و eventing. يتضمن ذلك ميزات databكـe-agnostic، مثل كـ برامج نصية.Microsoft.VisualStudio.بيانات.مخطط.PackageUI.dll
تجميع تابع للحزمة agnostic بقاعدة البيانات.Microsoft.VisualStudio.بيانات.مخطط.حزمة.Sql.dll
SQL Server-ميزات معينة، المحررين، و أداة الإطارات ل Visual Studio.Microsoft.VisualStudio.بيانات.مخطط.حزمة.SqlUI.dll
تجميع القمر الصناعي ل SQL Server-ميزات معينة، المحررين، و الأداة الإطارات.
نقاط التوافق مع البرامج الخارجية
يمكنك توسيع نقاط اتباع النظام قاعدة بيانات مشروع:
IDatabaseProjectFeature(AllowMultipleExtensions =صواب)
هذا هو يؤشر امتداد الأساسي للنظام مشروع. تم تصميم ميزات إلى التحكم في مشروع والمساهمة. توجد عدة واجهات يمكنها اختيارياً تطبيق: IOleCommandTarget و IDatabaseProjectPriorityCommandTarget و IDatabaseProjectPropertyPageContributor و IDatabaseProjectExtenderContributor<TExtendee> و IDatabaseProjectAddNewItemParticipant و IDatabaseProjectIdleProcessor و IDatabaseProjectPartialProjectParticipant.IDatabaseProjectBuildActionContributor(AllowMultipleExtensions =خطأ)
مساهمة سلاسل BuildAction إلى قائمة الإجراءات البناء المحتملة في النظام مشروع على سبيل المثال، SQL Serverمساهمة النظام مشروع Predeploy و Postdeploy.IDatabaseProjectUserFileContributor(AllowMultipleExtensions =خطأ)
قم بتعيين الخصائص التي يجب أن يتم توجيه إلى ملف.مستخدم.IDatabaseSchemaViewController(AllowMultipleExtensions =خطأ)
قم بتعبئة عرض "المخطط"، وكيف إلى الأحداث من عرض هذه.IDatabaseProjectFileUpgradeController(AllowMultipleExtensions =خطأ)
قم بترقية ملف مشروع كـ مستند XML. تحدث هذه العملية قبل Visual Studioمحاولات النظام للمشروع إلى تحميل مثيل المشروع من خلال مشروع facإلىry.IDatabaseProjectReferenceController(AllowMultipleExtensions =خطأ)
عناصر مشروع مراجعIDatabaseProjectPartialProjectParticipant(AllowMultipleExtensions =صواب)
قم بتمكين ميزة إلى بتصفية الملفات التي يجب أن لا يتم تصدير كمشروع جزئي.IDatabaseProjectHelpKeywordProvider
توفر تعليمات النظام المشروع الكلمة الأساسية هو المستخدم عند العميل بالضغط على المفتاح F1.
دورة حياة مشروع قاعدة بيانات
كل ملف مشروع قاعدة بيانات (.dbproj) يحتوي على خاصية مسماة“ DSP ” تشير إلى معينة DatabaseSchemaProviderالذي يعالج th هو المشروع عند ذلك هو المفتوحة في Visual Studio. النظام مشروع إنشاء ملحق المدير باستخدام هذا DSP و ومن بناء الجميع المشاركين نظام المشروع و ميزات للمشروع. يتلقى كل ميزة لحدث يهيّئ حيث أنه يمكن يهيّئ و الجذر نفسها في النظام مشروع بواسطة الاستماع إلى الأحداث.
يتم مرفوع الأحداث التالية أثناء فتح/اغلاق مشروع و حفظ:
NewProjectCreated
Th هو إجراء حدث عند مشروع هو تاريخ الإنشاء للمرة الأولى. يمكنك معالجة هذا حدث إلى عرض معالجات أو مربعات حوار الإعداد.ProjectOpening
مشروع هو فتح. يمكنك معالجة هذا حدث ل إضافة أية الخدمات IDatabaseProjectNode.ProjectOpened
يتم إجراء هذا حدث عندما تتم تمت الإضافة الجميع الخدمات و إتمام فتح مشروع. ومع ذلك، مشروع سوف لا بعد مكتمل إلغاء تسلسل حالته السابقة. TaskHostو DataSchemaModelستكون فارغة (NULL) حتى ProjectLoadedحدث هو المرسلة.ProjectLoaded
مشروع هو تحميل بشكل كامل. TaskHostو DataSchemaModelجاهزة ل استخدم.ProjectClosing
مشروع هو إغلاق. Th هو هو فرصة بضاعة ل persهوt لأي الولاية المعلومات التي هو خارج ملف مشروع.ProjectClosed
مشروع هو مغلق.ProjectSaving
مشروع هو تنفيذ عملية حفظ تشغيل. يمكنك استخدام ترتيب هو كفرصة للتأكد من أن لديك ميزة هو في الولاية ل persهوtence به تخزين.ProjectSaved
لقد تم تم الحفظ مشروع.
خطأ في إدارة
يحتوي كل مشروع واحد ErrorManager. يتم الاحتفاظ بعض الأخطاء.dbmdl ملف وليست أخطاء أخرى. وهذا يتم التحكم فيها من خلال AddPersistedCategoryفئة. بشكل افتراضي يتم الاحتفاظ هذه الفئات: ModelCategory ، ValidationAtBuildCategory و ValidationOnIdleCategory إذا قمت بإضافة فئة الدائمة أخرى يجب إلى بمعالجة إعادة التحميل للمشروع والتحقق وإدارة الأخطاء. تذكر أنه على الرغم من أنه تم مغلق مشروع، مستخدم قد قمنا بتحرير.dbproj ملف لإزالة ملف التي يتم الإعلام عن خطأ. فسيكون مربكاً جداً للمستخدمين بإنشاء تقرير خطأ في مشروع عندما لا موجود مثل هذا الملف موجوداً.
الكائنات خطأ في قاعدة بيانات تمت الإضافة إلى ErrorManagerفي فئات معينة. الفكرة هو أنه يمكن لميزات مشاريع إدارة عمر الأخطاء الخاصة بها من خلال عمر فئة الخاصة بهم. إذا تم مهتما بأسماء الفئات المتعارضة مع ميزات غير ذلك، قم باستخدام المعرف الفريد عمومي كـ الاسم. ErrorManagerيحدد عدة فئات المضمنة بما في ذلك:
DefaultCategory
Th هو فئة هو مصممة للاستخدام أخطاء تساوي مدة الحياة الخاصة به بعمر مشروع. ولذلك، على سبيل المثال، الأخطاء التي تحدث أثناء تحميل مشروع تضاف في هذه فئة.ModelCategory
يجب استخدام هذه فئة من قبل مدير المخطط عند مواجهة أخطاء مثل كـ أخطاء محلل.
سيناريوهات ذات صلة
إنشاء إعادة تأهيل قاعدة البيانات أنواع مخصصة أو الأهداف
إنشاء وتسجيل قواعد إضافى لتحليل قاعدة بيانات تعليمات برمجية
قم بإنشاء بيانات اختبار خاصة بمخصص منشئ البيانات
قم بتعريف الشروط المخصصة لوحدة قاعدة بيانات الاختبارات
يخصص قاعدة بيانات بنية والتوزيع باستخدام بنية ونشر المشاركين