مشاركة عبر


الإرشادات التفصيلية: قم بإنشاء مخصص منشئ البيانات لقيد تحقق

يمكنك استخدام بيانات قياسية generaإلىrs إلى تعبئة أعمدة بيانات في Visual Studio Premiumأو Visual Studio Ultimate. إذا كان العمود الذي تريد إلى تعبئة له قيد تحقق من صحة تعريف عليه، يجب أن تحققها بيانات التي تقوم بتعبئة العمود قيد تحقق من صحة هذا. يمكن توليد مولدات بيانات القياسية بيانات التي تحقق عدة فحص القيود. على سبيل المثال، إذا كان لديك قيد تحقق من صحة يتطلب أن يكون تاريخ في نطاق معين، يمكنك استخدام منشئ قياسي التاريخ والوقت وتعيين خصائص أدنى و أقصى لتلبية هذا قيد فحص من الصحة.

ومع ذلك، لا يمكن مولدات بيانات القياسية تفي بكافة القيود الاختيار. على سبيل المثال، إذا كان يتطلب قيد تحقق من صحة تاريخ هو في أحد نطاقين dهوtinct، لا يمكنك استخدام منشئ التاريخ والوقت القياسي. في هذه معاينة، يتم إنشاء مخصص منشئ البيانات التي يمكن أن تحققها أحد القيود. المولد يقبل نطاقين كالإدخال ويقوم بإنشاء عشوائية التاريخ الذي هو في واحد تلك النطاقات.

في هذه الإرشادات التفصيلية, سوف تؤدى المهام التالية:

  • إنشاء a فئة that inherits من Generator.

  • إنشاء خصائص إدخال بحيث يمكن للمستخدم تحديد الالثاني التاريخ النطاقات.

  • إنشاء خاصية إخراج إلى تستخدم كإخراج generaإلىr.

  • يمنع OnInitializeأسلوب إلى اﻷولى Randomكائنات وجعل generaإلىr الخاصة بك محدداً.

  • يمنع OnGenerateNextValuesأسلوب إلى إنشاء بيانات.

  • قم بتسجيل المولد مع اسم واضح.

المتطلبات الأساسية

تحتاج إلى يكون Visual Studio Premiumأو Visual Studio Ultimateتثبيت إلى إكمال هذه معاينة.

قم بإنشاء فئة منشئ بيانات مخصص

بدء إنشاء مخصص منشئ البيانات بواسطة إنشاء مكتبة فئة.

لإنشاء المخصصة منشئ بيانات الفئة

  1. في Visual Studio، إنشاء مكتبة فئة بلغة من اختيارك للمشروع وتسميته GeneratorDateRanges.

  2. في قائمة المشروع انقر فوق إضافة مرجع .

  3. تحديد علامة تبويب .NET.

  4. في من اسم مكوّن عمود، حدد موقع المكونات التالية:

    • [Microsoft.Data.Schema]

    • [Microsoft.Data.Schema.Sql]

    • [Microsoft.Data.Schema.Tools]

    تلميحتلميح

    اضغط زر'Ctrl' أثناء النقر فوق إلى حدد مكونات متعددة.

  5. انقر فوق ‏‏موافق عند محدد الجميع المكونات التي تحتاجها.

    سوف تظهر فيها المراجع المحدد تحت المراجع عقدة مشروع في من مستكشف الحلول.

  6. (اختياري، Visual Basicفقط) فيمستكشف الحل إظهار الجميع الملفاتانقر، ثم قم بتوسيع العقدة مراجع إلى التحقق من المرجع الجديد.

  7. قم بفتح الملف الفئة 1 وبعد ذلك، في الأعلى من الإطار تعليمات برمجية، قبل إعلان فئة، إضافة سطور تعليمات برمجية التالية:

    Imports System.Data.SqlTypes
    Imports Microsoft.Data.Schema.Tools.DataGenerator
    Imports Microsoft.Data.Schema.Extensibility
    Imports Microsoft.Data.Schema
    Imports Microsoft.Data.Schema.Sql
    
    using System.Data.SqlTypes;
    using Microsoft.Data.Schema.Tools.DataGenerator;
    using Microsoft.Data.Schema.Extensibility;
    using Microsoft.Data.Schema;
    using Microsoft.Data.Schema.Sql;
    
  8. إعادة تسمية فئة من Class1إلى GeneratorDateRanges، وتعيين أن جهاز فئة يرث من Generator.

    ملاحظة تنبيهتنبيه

    بشكل افتراضي، اسم إعطاء فئة هو الاسم الذي يظهر في القائمة في العمود مولد تفاصيل العمود نافذة. يجب تحديد اسماً لا يتعارض مع اسم مولد القياسية أو مولد مخصص آخر.

    Public Class GeneratorDateRanges
        Inherits Generator
    
    End Class
    
    public class GeneratorDateRanges: Generator
    {
    }
    
  9. إضافة DatabaseSchemaProviderCompatibilityAttribute، كما هو موضح في المثال التالي:

    <DatabaseSchemaProviderCompatibility(GetType(SqlDatabaseSchemaProvider))> _
    Public Class GeneratorDateRanges
        Inherits Generator
    
    End Class
    
    [DatabaseSchemaProviderCompatibility(typeof(SqlDatabaseSchemaProvider))]
    public class AddressGenerator : Generator
    {
    }
    

    لمزيد من معلومات حول سمة توافق ملحق، راجع قم بتوسيع ميزات قاعدة بيانات من برنامج ‏‫Visual Studio.

  10. من القائمة ملف، انقر فوق حفظ الكل.

إضافة خصائص إدخال

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

إلى إضافة خصائص إدخال

  1. قم بإنشاء الرابع متغيرات خاصة بالأعضاء إلى الاحتجاز الحد الأدنى والحد الأقصى تواريخ للتاريخ بين النطاقات:

    Dim range1MinValue As SqlDateTime
    Dim range1MaxValue As SqlDateTime
    
    Dim range2MinValue As SqlDateTime
    Dim range2MaxValue As SqlDateTime
    
    SqlDateTime range1MinValue;
    SqlDateTime range1MaxValue;
    
    SqlDateTime range2MinValue;
    SqlDateTime range2MaxValue;
    
  2. إنشاء خصائص أربعة إلى تعيين الحد الأدنى والحد الأقصى تواريخ للنطاقات تاريخ الثاني. يجب أن يكون للخصائص InputAttributeإلى التعرف عليها كخصائص إدخال.

    ملاحظة

    لكي تتمكن من تحديد خصائص إدخال هذا منشئ البيانات في الإطار "خصائص"، يجب توفير محوّل نوع الذي يحول قيم إدخال من SqlDateTimeالنوع. للقيام بذلك، سوف إضافة على دعم فئة SqlDateTimeConverter لاحقاً في هذه معاينة.

    <Input(TypeConverter:=GetType(SqlDateTimeConverter))> _
    Public Property Range1Min() as SqlDateTime
    
    <Input(TypeConverter:=GetType(SqlDateTimeConverter))> _
    Public Property Range1Max() as SqlDateTime 
    
    <Input(TypeConverter:=GetType(SqlDateTimeConverter))> _
    Public Property Range2Min() as SqlDateTime 
    
    <Input(TypeConverter:=GetType(SqlDateTimeConverter))> _
    Public Property Range2Max() as SqlDateTime 
    
    [Input(TypeConverter = typeof(SqlDateTimeConverter))]
    public SqlDateTime Range1Min
    {
        set {range1MinValue = value;}
        get {return range1MinValue;}
    }
    
    [Input(TypeConverter = typeof(SqlDateTimeConverter))]
    public SqlDateTime Range1Max
    {
        set {range1MaxValue = value;}
        get {return range1MaxValue;}
    }
    
    [Input(TypeConverter = typeof(SqlDateTimeConverter))]
    public SqlDateTime Range2Min
    {
        set {range2MinValue = value;}
        get {return range2MinValue;}
    }
    
    [Input(TypeConverter = typeof(SqlDateTimeConverter))]
    public SqlDateTime Range2Max
    {
        set {range2MaxValue = value;}
        get {return range2MaxValue;}
    }
    
  3. من القائمة ملف، انقر فوق حفظ الكل.

إضافة خاصية إخراج

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

إلى إضافة خاصية الإخراج

  1. إنشاء متغير عضو إلى اضغط على التاريخ عشوائية الإخراج:

    Dim randomDateValue As SqlDateTime
    
    SqlDateTime randomDateValue;
    
  2. إنشاء خاصية إلى إرجاع تاريخ عشوائية كالاخراج. يجب أن يكون للخاصية OutputAttributeإلى تعريفه كعنصر خاصية الإخراج.

    <Output()> _
    Public ReadOnly Property RandomDate() As SqlDateTime
        Get
            Return randomDateValue
        End Get
    End Property
    
    [Output]
    public SqlDateTime RandomDate
    {
        get {return randomDateValue;}
    }
    
  3. من القائمة ملف، انقر فوق حفظ الكل.

تجاوز في OnInitialize أسلوب

عندما تقوم بإنشاء بيانات عشوائية، يمكن أن يكون محدداً أو غير محدداً. بيانات محدداً بتكرار بيانات نفسها كل مرة تقوم أنت توليد من الأصل نفسه. تحتوي الجميع مولدات بيانات Seedخاصية التي يمكن للمستخدم التعيين. يمكنك يمنع OnInitializeأسلوب إلى اﻷولى Randomكائنات وجعل generaإلىr الخاصة بك محدداً.

إلى تجاوز الأسلوب OnInitialize

  1. إنشاء متغيرات خاصة بالأعضاء الثاني إلى إنشاء أرقام عشوائية، كما هو موضح في المثال التالي. إنشاء متغير عشوائية التاريخ. متغير الأخرى باختيار عشوائياً بين المحتملة اثنين التاريخ النطاقات.

    Dim random As Random
    Dim randomRange As Random
    
    Random random;
    Random randomRange;
    
  2. يمنع OnInitializeأسلوب:

    Protected Overrides Sub OnInitialize(ByVal initInfo As GeneratorInit)
    
        random = New Random(Me.Seed)       'deterministic
        randomRange = New Random(Me.Seed)  'deterministic
    
        'random = New Random()              'non-deterministic
        'randomRange = New Random()         'non-deterministic
    
        MyBase.OnInitialize(initInfo)
    End Sub
    
    protected override void OnInitialize(GeneratorInit initInfo)
    {
        random = new Random(this.Seed);       //deterministic
        randomRange = new Random(this.Seed);  //deterministic
    
        //random = new Random();                //non-deterministic
        //randomRange = new Random();           //non-deterministic
    
        base.OnInitialize(initInfo);
    }
    
  3. من القائمة ملف، انقر فوق حفظ الكل.

تجاوز في OnGenerateNextValues أسلوب

Visual Studio PremiumالمكالماتOnGenerateNextValuesأسلوب generaإلىr إلى إنشاء بيانات من احتياجات. يجب يمنع هذه الطريقة إلى توفير المعلومات المنطقية التي تنشئ تاريخ عشوائية لخاصية الإخراج الخاص بك.

إلى تجاوز الأسلوب OnGenerateNextValues

  1. يمنع OnGenerateNextValuesالأسلوب، كما هو موضح في المثال التالي:

    Protected Overrides Sub OnGenerateNextValues()
    
        Dim min As SqlDateTime
        Dim max As SqlDateTime
    
        'Generate a random date from either range 1 or range 2.
        'Randomly select either range 1 or range 2 by randomly 
        'generating an odd or an even random number.
        '------------------------------------------------------------
        If randomRange.Next() Mod 2 = 0 Then  'check for odd or even
            min = range1MinValue
            max = range1MaxValue
        Else
            min = range2MinValue
            max = range2MaxValue
        End If
    
        'The formula for creating a random number in a specific range is:
        'start of range + (size of range * random number between 0 and 1)
    
        'size of range
        Dim range As TimeSpan = max.Value - min.Value
    
        '(size of range * random number between 0 and 1)
        Dim randomNumber As TimeSpan = New TimeSpan(CLng(range.Ticks * random.NextDouble()))
    
        'start of range + (size of range * random number between 0 and 1)
        randomDateValue = min + randomNumber
    
    End Sub
    
    protected override void OnGenerateNextValues()
    {
        SqlDateTime min;
        SqlDateTime max;
    
        //Generate a random date from either range 1 or range 2.
        //Randomly select either range 1 or range 2 by randomly 
        //generating an odd or an even random number.
        //------------------------------------------------------------
        if (randomRange.Next() % 2 == 0)  //check for odd or even
        {
            min = range1MinValue;
            max = range1MaxValue;
        }
        else
        {
            min = range2MinValue;
            max = range2MaxValue;
        }
    
        //The formula for creating a random number in a specific range is:
        //start of range + (size of range * random number between 0 and 1)
    
        //size of range
        TimeSpan range = max.Value - min.Value;
    
        //(size of range * random number between 0 and 1)
        TimeSpan randomNumber = new TimeSpan((long)(range.Ticks * random.NextDouble()));
    
        //start of range + (size of range * random number between 0 and 1)
        randomDateValue = min + randomNumber;
    }
    
  2. من القائمة ملف، انقر فوق حفظ الكل.

تعريف محوّل نوع

لكي تتمكن من تحديد خصائص إدخال هذا منشئ البيانات في الإطار "خصائص"، يجب توفير محوّل نوع الذي يحول قيم إدخال من SqlDateTimeالنوع.

لإنشاء SqlDateTime نوع فئة المحول

  1. في القائمة مشروع انقر فوق إضافة فئة .

    يظهر مربع الحوار Add New Item.

  2. في الاسم، اكتب SqlDateTimeConverter.

  3. في أعلى الإطار تعليمات برمجية، قبل إعلان فئة، إضافة سطور تعليمات برمجية التالية:

    Imports System.ComponentModel
    Imports System.Data.SqlTypes
    Imports System.Globalization
    
    using System.ComponentModel;
    using System.Data.SqlTypes;
    using System.Globalization;
    
  4. تعيين أن جهاز فئة يرث من TypeConverter:

    Public Class SqlDateTimeConverter
        Inherits TypeConverter
    
    End Class
    
    public class SqlDateTimeConverter: TypeConverter
    {
    }
    
  5. داخل إعلان فئة، قم بإضافة الدالة الإنشائية الفئة. في حالة الكتابة الفئة نوع المحول في Visual Basic، انتقل إلى الخطوة 6.

    public SqlDateTimeConverter()
    {
    }
    
  6. الدالة الإنشائية الفئة، بعد إضافة أسلوب يقوم بعملية فحص لمعرفة ما إذا كان التحويل معين هو المحتملة بترتيب هو نوع المحول:

    Public Overrides Function CanConvertFrom(ByVal context As ITypeDescriptorContext, ByVal sourceType As Type) As Boolean
        Dim result As Boolean
        result = False
        If (sourceType Is GetType(System.String)) Then
            result = True
        Else
            result = MyBase.CanConvertFrom(context, sourceType)
        End If
        Return result
    End Function 
    
    Public Overrides Function CanConvertTo(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal destinationType As System.Type) As Boolean
        If (destinationType Is GetType(System.String)) Then
            Return True
        End If
        Return MyBase.CanConvertTo(context, destinationType)
    End Function
    
    public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
    {
        bool result = false;
        if (sourceType == typeof(string))
        {
            result = true;
        }
        else
        {
            result = base.CanConvertFrom(context, sourceType);
        }
        return result;
    }
    
    public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
    {
        if (destinationType == typeof(string))
        {
            return true;
        }
        return base.CanConvertTo(context, destinationType);
    }
    
  7. وأخيراً، إضافة الطرق المحول:

    Public Overrides Function ConvertFrom(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal culture As System.Globalization.CultureInfo, ByVal value As Object) As Object
        Dim dateTimeString As String
        dateTimeString = value.ToString
        If (dateTimeString.Length > 0) Then
            Dim dateTime As Date
            dateTime = Date.Parse(dateTimeString, culture)
            Return New SqlDateTime(dateTime)
        End If
        Return MyBase.ConvertFrom(context, culture, value)
    End Function
    
    Public Overrides Function ConvertTo(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal culture As System.Globalization.CultureInfo, ByVal value As Object, ByVal destinationType As System.Type) As Object
        If (destinationType Is GetType(System.String)) Then
            Dim dateTime As Date
            dateTime = CType(value, SqlDateTime).Value
            Return dateTime.ToString(culture)
        End If
        Return MyBase.ConvertTo(context, culture, value, destinationType)
    End Function 
    
            public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
            {
                string dateTimeString = value as string;
                if (dateTimeString != null)
                {
                    DateTime dateTime = DateTime.Parse(dateTimeString, culture);
                    return new SqlDateTime(dateTime);
                }
                return base.ConvertFrom(context, culture, value);
            }
    
            public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
            {
                if (destinationType == typeof(string))
                {
                    DateTime dateTime = ((SqlDateTime)value).Value;
                    return dateTime.ToString(culture);
                }
                return base.ConvertTo(context, culture, value, destinationType);
            }
    
  8. من القائمة ملف، انقر فوق حفظ الكل.

التوقيع مولد

يجب أن يكون موقعا الجميع مولدات بيانات مخصصة مع قوي تسمية قبل تسجيلها.

إلى تسجيل generaإلىr مع اسم واضح

  1. في قائمة مشروع ، انقر فوق خصائص GeneratorDateRanges إلى فتح خصائص مشروع.

  2. في التبويب التوقيع ، تحديد تسجيل تجميع الاختيار صندوق.

  3. في اختيار ملف المفتاح اسم المميز صندوق، انقر فوق من < جديد... >.

  4. في اسم ملف المفتاح المربع، نوع GeneratorDateRangesKey، نوع وتأكيد كلمة مرور، وثم انقر فوق ‏‏موافق .

    عندما تقوم ببنية الحل الخاص بك، الالمفتاح ملف يتم استخدامها لتوقيع تجميع.

  5. من القائمة ملف، انقر فوق حفظ الكل.

  6. من القائمة Build (إنشاء)، انقر فوق Build Solution (إنشاء الحل).

    الخاص بك منشئ بيانات لقد تم إنشاء الآن. التالي، يجب عليك التسجيل من تشغيل جهاز الكمبيوتر الخاص بك حيث يمكنك استخدامه في بيانات إنشاء خطط .

تسجيل في مولد

تجميع الخاص بك مرة واحدة هو موقعة وتم تحويلها برمجياً، الخطوة التالية هو لجمع تجميع إنشاء المعلومات في مشروع، بما في ذلك الإصدار والبيانات الموروثة PublicKeyToken، لتسهيل regهوtering تجميع مولد.

إلى جمع معلومات تجميع

  1. قائمة عرض انقر فوق من Windows الأخرى، ومن ثم انقر فوق من نافذة الأوامر إلى فتح النافذة الأوامر.

  2. في الإطار الأوامر، نوع التعليمة البرمجية التالية. ل FilePath، استبدل المسار و ملف اسم.dll المترجمة الخاصة بك ملف. تضمين علامات الاقتباس حول المسار و ملف اسم.

    ملاحظة

    بواسطة هو مسار ملف.dll المترجمة شكل افتراضي SampleGenerator\bin\يصحح.

    ? System.Reflection.Assembly.LoadFrom("FilePath").FullName
    
    ? System.Reflection.Assembly.LoadFrom(@"FilePath").FullName
    
  3. اضغط Enter. يجب أن تشبه السطر التالي مع PublicKeyToken الخاصة بك:

    " GeneratorDateRanges, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn"
    

    notate أو نسخ هذا معلومات تجميع؛ سيتم استخدامه في إجراء التالي.

    التالي، يتم إنشاء ملف XML باستخدام تجميع المعلومات التي تم تجميعها في إجراء السابق.

لإنشاء ملف XML

  1. في مستكشف الحل ، تحديد مشروع GeneratorDateRanges.

  2. في مشروع القائمة، انقر فوق إضافة عنصر جديد .

  3. في الجزء القوالب ، تحديد موقع و تحديد العنصر ملف XML.

  4. في نص اسم صندوق نوع GeneratorDateRanges.ملحقات.xml وانقر فوق إضافة زر .

    GeneratorDateRanges.ملحقات.xml ملف يضاف إلى مشروع في من مستكشف الحل.

    ملاحظة

    يجب استخدام اسم ملف dll الخاص بك (في هذه الحالة، "GeneraإلىrDateRanges" متبوعة ". ملحقات.xml") للتجميع إلى التسجيل بشكل صحيح.

  5. فتح في GeneratorDateRanges.ملحقات.ملف XML وتحديثه بحيث تتطابق مع XML التالي. قم باستبدال الإصدار تجميع والثقافة و PublicKeyToken التي تم استردادها في إجراء السابق.

    ملاحظة

    يجب أن نوع الملحق استخدم اسم مؤهل بشكل كامل للفئة. في هذه الحالة : ملحق نوع="GeneratorDateRanges.GeneratorDateRanges".

    <?xml version="1.0" encoding="utf-8"?>
    <extensions assembly=""
                version="1" xmlns="urn:Microsoft.Data.Schema.Extensions"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions 
    
      Microsoft.Data.Schema.Extensions.xsd"> <extension type="GeneratorDateRanges.GeneratorDateRanges" assembly=" GeneratorDateRanges, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn" enabled="true"/>
    
    </extensions>
    
  6. من القائمة ملف، انقر فوق حفظ الكل.

بعد ذلك، سيتم نسخ ملف XML و تجميع إلى الدليل ملحقات. عند Visual Studio Premium، يبدأ تعريف أية ملحقات في برنامج ملفات% \Microsoft ‏‫Visual Studio 10.0\VSTSDB\Extensions الدلائل والدلائل الفرعية وبه استخدامها في جلسة عمل تسجيل.

لنسخ و تسجيل ملف XML و تجميع إلى الدليل ملحقات

  1. إنشاء مجلد هو المسمى CustomGenerators في الدليل 10.0\VSTSDB\ملحقات\Studio Vهوual\Microsoft %% برنامج ملفات .

  2. قم بنسخ التجميع GeneratorDateRanges.dll ملف من الدليل\GeneratorDateRanges\GeneratorDateRanges\bin\يصحح\ ProjectFolder %% ملف s البرنامج \Microsoft ‏‫Visual Studio 10.0\VSTSDB\ملحقات\CustomGenerators الدليل الذي قمت بإنشائه.

  3. GeneratorDateRanges.ملحقات.xml نسخ الملفات من دليل\GeneratorDateRanges\GeneratorDateRanges\ ProjectFolderإلى الدليل 10.0\VSTSDB\ملحقات\CustomGenerators %% برنامج ملفات \Microsoft ‏‫Visual Studio الذي قمت تاريخ الإنشاء.

    ملاحظة

    أفضل ممارسة وضع تجميعات الملحق الخاص بك في مجلد في الدليل 10.0\VSTSDB\ملحقات %% برنامج ملفات \Microsoft ‏‫Visual Studio. سوف تساعدك هذه الاستراتيجية في تحديد الملحقات التي تم تضمينها مع منتج و أيها هي عمليات إنشاء المخصص الخاص بك. يجب أيضا تنظيم الملحقات الخاصة بك ضمن المجلدات الخاصة بالفئة.

اختبار مولد نطاقات تاريخ

والآن بعد أن كان تاريخ الإنشاء مولد بيانات DateRanges، يجب عليك يبدأ مثيل جديد من Visual Studio. عند Visual Studioيبدأ، سيتم تسجيل تجميع GeneratorDateRanges التي قمت بإضافتها إلى برنامج ملفات% \Microsoft 10.0\VSTSDB\ملحقات\CustomGenerators ‏‫Visual Studio الدليل.

بعد ذلك، ستقوم بإنشائها على مشروع قاعدة بيانات حيث يمكنك التحقق من أن منشئ البيانات DateRanges يعمل بشكل صحيح.

إلى إنشاء مشروع قاعدة بيانات

  1. قم بتشغيل مثيل جديد من Visual Studio، التي سوف تتعرف على تجميع GeneratorDateRanges.dll و تسجيل it.

  2. في قائمة ملف ، أشر إلى جديد ، و انقر مشروع.

    يظهر مربع الحوار مشروع جديد.

  3. في القائمة القوالب المثبتة، قم بتوسيع قاعدة بيانات، ثم انقر فوق SQL الخادم .

  4. في قوالب، انقر فوق معالج SQL الخادم 2008.

  5. في الاسم، اكتب SampleGeneratorDB.

    ملاحظة

    إذا كنت قد أكملت الجميع الخطوات في الإرشادات التفصيلية: قم بإنشاء مخصص منشئ البياناتوإنشاء المشروع SampleGeneratorDB، ويمكنك انتقال إلى إجراء التالي، لإضافة جدول إلى مشروع قاعدة بيانات بالفعل.

  6. تحديد إنشاء الدليل لخانة الاختيار الحل.

  7. قبول قيم الافتراضية ل الموقعو إسم الحل إضافة إلى "عنصر تحكم مصدر"، ومن ثم انقر فوق ‏‏موافق .

  8. انقر فوق Finish. عند معالج هو finهوhed، انقر فوق من Finهوh مرة أخرى.

    جديد مشروع قاعدة بيانات، SampleGeneratorDB، يظهر في من مستكشف الحلول.

  9. في قائمة عرض ، انقر فوق عرض مخطط قاعدة بيانات.

    طريقة عرض المخطط يظهر إذا لم يكن مسبقاً مرئياً.

    التالي، تتم إضافة جدول بسيط إلى المشروع، مع عمود مفرد يحتوي على نوع SQL DateRange.

لإضافة جدول إلى مشروع قاعدة بيانات

  1. في طريقة عرض المخطط، قم بتوسيع SampleGeneratorDB عقدة قم بتوسيع العقدة رسوم تخطيطية ، قم بتوسيع العقدة dbo وثم انقر فوق العقدة الجداول.

  2. في مشروع قائمة ، انقر فوق إضافة عنصر جديد .

    ملاحظة

    يمكنك أيضا يمين-انقر فوق مشروع SampleGeneratorDB في عرض مخطط، أشر إلى إضافة، وانقر فوق جدول.

  3. Inقوالب, انقر جدول.

    ملاحظة

    في القائمة الفئات ، يمكنك النقر فوق الجداول وطرق عرض لأكثر سهولة إيجاد القالب لجدول.

  4. في الاسم، نوع TableDates كالاسم الذي تريد منحة للجدول الجديد.

  5. انقر فوق إضافة إلى إضافة الجدول إلى مشروع قاعدة البيانات الخاصة بك.

    مستكشف الحل يظهر الجديدة ملف للجدول في قاعدة بيانات مشروع. عرض مخطط يظهر الكائن الجدول الجديد. Transact-SQLيظهر محرر ويعرض تعريف الجدول الجديد.

  6. في Transact-SQLediإلىr، قم بتعديل تعريف جدول إلى يتطابق مع المثال التالي:

    CREATE TABLE [dbo].[TableDates]
    (
    dates DateTime
    )
    
  7. تشغيل انقر قائمة ملف حفظ TableDates.جدول.sql.

باستخدام الجدول في نفس المكان، تتم الآن إضافة قيد تحقق من صحة إلى فحص من صلاحية نطاقات تاريخ المستخدمة.

ملاحظة

لن Enter الزر يتراوح التاريخ المطابق ل DateRanges المخصصة لمولد بيانات قيم الخاصية في إجراء آخر. للحصول على مزيد من المعلومات، راجع إنشاء وتكوين خطة إنشاء بيانات .

إلى إضافة قيد تحقق من صحة إلى الجدول

  1. في عرض مخطط، المتوقعة و العقدة جداول و انقر فوق الجدول TableDates.

  2. في مشروع قائمة ، انقر فوق إضافة عنصر جديد .

  3. في قوالب، انقر فوق قيد فحص.

    ملاحظة

    يمكنك أيضا يمين-انقر فوق الجدول تواريخ في عرض مخطط، أشر إلى إضافةوانقر فوق قيد فحص.

  4. في الاسم، نوع CheckConstraintDateRanges كالاسم الذي تريد إعطاء قيد تدقيق جديد.

  5. انقر فوق إضافة إلى إضافة قيد التحقق من الصحة إلى مشروع قاعدة بيانات الخاصة بك.

    مستكشف الحلول يظهر ملف جديد للتحقق من قيد في قاعدة بيانات مشروع. طريقة عرض المخطط يظهر الجديدة فحص كائن قيد. Transact-SQLيظهر محرر ويعرض تعريف موقعك الجديد فحص قيد.

  6. في Transact-SQLediإلىr، قم بتعديل قيد التحقق من الصحة إلى يتطابق مع المثال التالي:

    ALTER TABLE [dbo].[TableDates]
    ADD CONSTRAINT [CheckConstraintDateRanges] 
    CHECK ((dates BETWEEN '1/1/1800' AND '1/1/1900')OR(dates BETWEEN '1/1/1979' AND '12/31/2008'))
    
  7. تشغيل انقر قائمة ملف حفظ Dates.CheckCتشغيلstraintDateRanges.chkcتشغيلst.sql.

    ملاحظة

    إذا كان الفعل مكتمل الجميع الخطوات في الإرشادات التفصيلية: قم بإنشاء مخصص منشئ البيانات، فيمكنك انتقال إلى القسم إنشاء وتكوين خطة إنشاء بيانات .

بالقيد الجدول والتدقيق في المكان، يمكنك الآن تكوين قاعدة بيانات ل توزيع.

إلى تكوين إعدادات نشر مشروع

  1. في من مستكشف الحل، انقر فوق SampleGeneratorDB (مشروع، لا الحل).

  2. تشغيل انقر قائمة مشروع خصائص SampleGeneratorDB.

    يظهر نافذة خصائص مشروع.

    ملاحظة

    النقر بالزر الأيمن أيضا فوق SampleGeneratorDB في من مستكشف الحلول و انقر فوق خصائص.

  3. انقر فوق علامة تبويب نشر.

  4. في إجراء التوزيع، انقر فوق إنشاء توزيع برنامج نصي (sql) ونشرها إلى قاعدة بيانات .

  5. انقر فوق butإلىn تحرير إلى حدد الاتصال الهدف.

  6. حدد معلومات يعيّن خادم قاعدة بيانات إلى حيث تريد نشر قاعدة بيانات SampleGeneratorDB.

  7. في تحديد أو قم بإدخال اسم قاعدة بيانات ، نوع SampleGeneratorDB.

  8. انقر فوق موافق.

    الاتصال بالهدف هو معبأ بسلسلة الاتصال. لاحظ أنه يتم تعيين من اسم قاعدة بيانات الهدف إلى SampleGeneratorDB .

  9. قبول قيم الافتراضية للخيارات الأخرى.

  10. في قائمة الملف , انقر فوق حفظ العناصر المحددة.

    مشروع بنية يتم تم الحفظ الإعدادات.

    التالي، سوف تقوم بإنشاء مشروع قاعدة بيانات الخاصة بك.

إلى إنشاء مشروع قاعدة بيانات

  • من القائمة Build (إنشاء)، انقر فوق Build Solution (إنشاء الحل).

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

    التالي، سيتم نشر المشروع قاعدة بيانات.

إلى نشر المشروع قاعدة بيانات إلى الخادم قاعدة بيانات

  1. في من مستكشف الحل، انقر فوق SampleGeneratorDB (مشروع، لا الحل).

  2. من قائمة بنية ، انقر فوق نشر SampleGeneratorDB.

    مشروع قاعدة بيانات الخاصة بك هو نشرها بواسطة استخدام الاتصال الذي قمت بتحديده في تكوين البنية. إذا كان ناجحاً، الرسالة "تم بنجاح نشر" يظهر في شريط المعلومات و في الإطار إخراج.

إنشاء وتكوين خطة إنشاء بيانات

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

لإنشاء وتكوين خطة إنشاء بيانات

  1. في من مستكشف الحل، تحديد العقدة خطط إنشاء بيانات.

  2. في مشروع قائمة ، انقر فوق إضافة عنصر جديد .

  3. في الجزء فئات ، انقر فوق خطة إنشاء بيانات.

  4. في الجزء القوالب ، انقر فوق خطة إنشاء بيانات .

  5. في صندوق نص الاسم، اكتب SampleGenerator.dgen.

  6. انقر فوق إضافة.

    التخطيط لتاريخ الإنشاء بيانات هو التي تم إنشاؤها. خطة إنشاء بيانات ويظهر الإطار إنشاء مهام. نافذة خطة لإنشاء البيانات هو تقسيم أفقياً في جزءين. يسرد الجزء العلوي للجداول التي تم تعريفها في مخطط مشروع قاعدة بيانات — في هذا حالة، الجدول dbo.TableDates. تفاصيل العمود dهوplays للجزء السفلي للجدول الذي هو المميزة في الجزء العلوي — في ترتيب هو الحالة، العنوان العمود.

    ملاحظة

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

  7. في مصمم SampleGenerator.dgen، تحقق من أن الجدول dbo.TableDates و تواريخ عمود كل اتصال.

  8. في الجدول، تغيير القيمة تحت صفوف لإدراجه إلى 500.

  9. في مصمم SampleGeneraإلىr.dgen، تحديد العمود التواريخ وانقر فوق Generaإلىr المنسدلة إلى تحديد من GeneraإلىrDateRanges.

  10. باستخدام العمود التواريخ المحددة في الإطار "خصائص"، نوع قيم التاريخ بين الإدخالات نطاق:

    • Range1Max 31/12/2008 12: 00: 00 ص

    • Range1Min 1/1/1979 12: 00: 00 ص

    • Range2Max 1/1/1900 12: 00: 00 ص

    • Range2Min 1/1/1800 12: 00 صباحا

    مولد الالعنوان المخصص الخاص بك هو الآن تكوينها بشكل صحيح.

  11. من القائمة ملف، انقر فوق حفظ الكل.

يعمل خطة توليد بيانات إلى بيانات النطاقات تاريخ التوليد

وأخيراً، سيتم تشغيل الخطة الجيل البيانات ونطاقات التواريخ المخصصة الخاصة بك راجع منشئ البيانات في إجراء.

إلى تشغيل الخطة إلى إنشاء بيانات

  1. في مستكشف الحل ، انقر فوق من SampleGenerator.dgen.

    ملاحظة

    خطة إنشاء بيانات يجب أن تكون مفتوحة. في حالة عدم فتح الخطة، فتحه أول.

  2. في قائمة بيانات ، أشر إلى منشئ البيانات ، ومن ثم انقر فوق توليد البيانات.

    يظهر صندوق الحوار الاتصال إلى قاعدة البيانات.

  3. في معلومات الاتصال لإنشاء البيانات قائمة انقر فوق قاعدة بيانات SampleGeneratorDB وثم انقر فوق ‏‏موافق .

  4. انقر فوق نعم عند مطالبتك إلى مسح محتويات الجداول قبل إدراج صفوف الجديدة.

    بيانات هو التي تم إنشاؤها. في الإطار للمحتوى، عمود حالة هو محدث حالة إنشاء بيانات. تلخيص شريط حالة إنشاء بيانات لكافة الجداول.

  5. (اختياري) استخدم أداة مختلفة لتسجيل الدخول إلى قاعدة بيانات. يمكنك استخدام Transact-SQLالمحرر الذي يتم توفيره في Visual Studio Premiumلهذه الخطوة. للحصول تشغيل مزيد من المعلومات، راجع ‏‏تحرير برامج نصية لقاعدة البيانات والكائنات باستخدام محرر ‏‫‏‫Transact-SQL تشغيل موقع ويب Microsoft Office 2010 Suite. عرض بيانات الجديدة بواسطة تشغيل الاستعلام التالي:

    use SampleGeneratorDB
    
    select * from dbo.TableDates
    

    يجب عرض علامة تبويب نتائج التواريخ 500 الناتجة.

  6. (اختياري) في الإطار "خصائص"، قم بتغيير القيمة من Range1Max إلى 12/31/3000 12: 00: 00 ص و تشغيل مولد بيانات مرة أخرى بتكرار الخطوات من 2 إلى 5.

    في الإطار Lهوt خطأ، سوف يظهر خطأ التي هو إنشاؤها نظراً لقيد فحص من الصحة خرق، الذي هو السبب في نطاق تاريخ التغيير خارج النطاق المسموح به.

راجع أيضًا:

المهام

الإرشادات التفصيلية: قم بإنشاء مخصص منشئ البيانات

كيفية القيام بما يلي: لتسجيل و إدارة ميزة ملحقات

المرجع

Microsoft.Data.Schema.Tools.DataGenerator

المبادئ

قم بإنشاء بيانات اختبار خاصة بمخصص منشئ البيانات

نظرة عامة حول منشئ البيانات الامتداد

تعيين تفاصيل إنشاء البيانات للعمود

موارد أخرى

استكشاف أخطاء ميزة ملحقات