مشاركة عبر


SqlMetal.exe (أداة إنشاء التعليمات البرمجية)

أداة سطر الأوامر SqlMetal تقوم بإنشاء تعليمات برمجية و تعيينها لـ مكون LINQ to SQL مكون من .NET Framework, و عن طريق تطبيق الخيارات التي تظهر لاحقاً في هذا الموضوع يمكنك إرشاد SqlMetal لتنفيذ عدة إجراءات مختلفة تتضمن ما يلي:

  • من قاعدة بيانات قم بإنشاء تعليمات برمجية للمصدر و تعيين سمات أو تعيين ملف.

  • من قاعدة بيانات قم بإنشاء ملف قاعدة بيانات لعلامات متوسطة للغة (.dbml) للتخصيص.

  • من ملف .dbml قم بإنشاء تعليمات برمجية للمصدر و تعيين سمات أو تعيين ملف.

يتم تضمين ملف SQLMetal في النوافذ SDK المثبتة مع ‏‫Visual Studio, و بشكل افتراضي يتم وضع الملف في drive:\Program Files\Microsoft SDKs\Windows\vn. nn\bin., و إذا لم تقم بتثبيت ‏‫Visual Studio فإنه يمكنك أيضاً الحصول على ملف SQLMetal عن طريق تحميل Windows SDK.

ملاحظةملاحظة

المطورون الذين يستخدمون Visual Studio يمكنهم أيضًا استخدام مصمم كائن ارتباطي لإنشاء فئات وحدة,و تحجيم أسلوب سطر الأوامر بشكل جيد بالنسبة لقواعد البيانات الكبيرةلأن SqlMetal عبارة عن أداة سطر الأوامر بحيث يمكنك استخدامها في عملية التصنيع.

sqlmetal [options] [<input file>]

خيارات

لعرض أحدث قائمة للخيارات، اكتب sqlmetal / ؟ في موجه الأوامر من الموقع المثبت.

خيارات الاتصال

الخيار

الوصف

/server:<اسم>

تعيين اسم لخادم قاعدة البيانات.

/database:<اسم>

تعيّن كاتالوج قاعدة البيانات على الخادم.

/user:<اسم>

تحديد معرّف المستخدم لتسجيل الدخول القيمة الافتراضية: قم باستخدام نوافذ المصادقة

/password:<كلمة المرور>

تعيّن كلمة المرور لتسجيل الدخول القيمة الافتراضية: قم باستخدام نوافذ المصادقة

/conn:<سلسلة الاتصال>

تعيين سلسلة الاتصال لقاعدة البيانات, و يتعذر استخدامه مع الخيارات /server أو /database أو /user أو /password.

لا تقم بتضمين اسم الملف في سلسلة الاتصال, و بدلاً من ذلك قم بإضافة اسم الملف إلى سطر الأوامر كما في ملف الإدخال, فعلى سبيل المثال، يقوم السطر التالي بتحديد "c:\northwnd.mdf" بمثابة ملف إدخال: sqlmetal /code:"c:\northwind.cs" /language:csharp "c:\northwnd.mdf".

/timeout:<ثانية>

تعيين قيمة المهلة عندما تقوم SqlMetal بالوصول إلى قاعدة البيانات. القيمة الافتراضية: 0 (أي لا توجد مهلة).

خيارات الاستخراج

الخيار

الوصف

/views

استخراج طرق العرض في قاعدة البيانات.

/functions

استخراج دالات لقاعدة البيانات.

/sprocs

استخراج الإجراءات المخزنة.

خيارات الإخراج

الخيار

الوصف

/dbml[:ملف]

إرسال إخراج كـ .dbml. و يتعذر استخدامه مع الخيار /map.

/code[:ملف]

إرسال إخراج كتعليمات برمجية للمصدر. و يتعذر استخدامه مع الخيار /dbml.

/map[:ملف]

قم بإنشاء ملف تعيين XML بدلاً من السمات. و يتعذر استخدامه مع الخيار /dbml.

Miscellaneous (متفرقات)

الخيار

الوصف

/language:<اللغة>

تعيين لغة التعليمات البرمجية للمصدر.

صالح <اللغة>: vb, csharp.

القيمة الافتراضية: مشتق من الملحق لاسم ملف التعليمات البرمجية.

/namespace:<اسم>

تعيين مساحة الاسم للتعليمات البرمجية المنشأة. القيمة الافتراضية: لا توجد مساحة للاسم.

/context:<اكتب>

تعيين اسم لفئة سياق البيانات. القيمة الافتراضية: مشتق من اسم قاعدة البيانات.

/entitybase:<اكتب>

تعيين فئة أساسية لفئات الوحدة في التعليمات البرمجية المنشأة. القيمة الافتراضية: لا تحتوي الوحدات على فئة أساسية.

/pluralize

تلقائياً pluralizes أو singularizes أسماء الفئة أو الأعضاء.

يتوفر هذا الخيار فقط في الولايات المتحدة حيث الإصدار باللغة الإنجليزية.

/serialization:<الخيار>

يقوم بإنشاء الفئات القابلة للتسلسل.

صالح <الخيار>: لا شيء، أحادي الاتجاه. القيمة الافتراضية: لا يوجد.

لمزيد من المعلومات، راجع Serialization (LINQ to SQL).

ملف الإدخال

الخيار

الوصف

<input file>

تعيين ملف SQL Server Express .mdf أو SQL Server Compact 3.5 أو ملف .sdf أو ملف متوسطة .dbml.

ملاحظات

وتشمل وظائف SqlMetal فعلا خطوتين:

  • استخراج بيانات التعريف من قاعدة البيانات في ملف .dbml.

  • إنشاء ملف إخراج للتعليمات البرمجية.

    باستخدام خيارات سطر الأوامر المناسبة يمكنك إنتاج Visual Basic أو تعليمات برمجية للمصدر #C أو ملف التعيين لـ XML.

لاستخراج بيانات التعريف من ملف .mdf يجب عليك تحديد اسم لملف .mdf بعد جميع الخيارات الأخرى.

إذا لم يتم تحديد /server فإنه يتم افتراض localhost/sqlexpress.

Microsoft SQL Server 2005 يطرح استثناء إذا كان واحد أو أكثر من الشروط التالية صحيحاً:

  • يحاول SqlMetal أن يفك الضغط على الإجراء المخزّن الذي يستدعي نفسه.

  • تجاوز مستوى التداخل من الإجراء المخزن أو الدالة أو طريقة العرض 32

    يقوم بالإمساك بالاستثناء و إصداره كتحذير.

لتحديد اسم لملف إدخال, قم بإضافة اسم الملف إلى سطر الأوامر كما في ملف الإدخال, و بالإضافة إلى اسم الملف في سلسلة الاتصال (باستخدام الخيار /conn) غير معتمد.

أمثلة

قم بإنشاء ملف .dbml الذي يحتوي على بيانات التعريف SQL المستخرجة:

sqlmetal /server:myserver /database:northwind /dbml:mymeta.dbml

قم بإنشاء ملف .dbml الذي يحتوي على بيانات التعريف SQL المستخرجة من ملف .mdf باستخدام SQL Server Express:

sqlmetal /dbml:mymeta.dbml mydbfile.mdf

قم بإنشاء ملف .dbml الذي يتضمن بيانات التعريف SQL المستخرجة من SQL Server Express:

sqlmetal /server:. \sqlexpress /dbml:mymeta.dbml /database:northwind

قم بإنشاء تعليمات برمجية للمصدر من ملف بيانات التعريف .dbml:

sqlmetal /namespace:nwind /code:nwind.cs /language:csharp mymetal.dbml

قم بإنشاء تعليمات برمجية للمصدر من بيانات التعريف SQL مباشرة:

sqlmetal /server:myserver /database:northwind /namespace:nwind /code:nwind.cs /language:csharp

ملاحظةملاحظة

عندما تقوم باستخدام الخيار /pluralize مع نموذج قاعدة البيانات Northwind لاحظ السلوك التالي,و عندما يصدر SqlMetal أسماء لأنواع الصف للجدول فإن أسماء الجدول مفردة,و عندما تجعل DataContext خصائص للجداول فإن أسماء الجدول عبارة عن جمع,و الجداول في قاعدة بيانات النموذج Northwind هي بالفعل جمع,فلذلك لم ترى هذا الجزء يعمل,و على الرغم من أنه يعد إجراءاً شائع إلى جداول قاعدة البيانات ذات الأسماء المفردة فإنه أيضاً يعد إجراءاً شائع في مجموعات .NET ذات الأسماء الغير مفردة.

راجع أيضًا:

المهام

How to: Generate the Object Model in Visual Basic or C# (LINQ to SQL)

المرجع

External Mapping Reference (LINQ to SQL)

المبادئ

Code Generation in LINQ to SQL