次の方法で共有


方法 : カスタム データ ジェネレーターを作成する

カスタム データ ジェネレーターは、データ ジェネレーター機能がデータ生成計画でデータを生成するために使用できるコンポーネントです。 データ ジェネレーター機能は設定済みのジェネレーターを複数提供していますが、特定のニーズに合うカスタム ジェネレーターを作成することが必要になる場合があります。

このトピックでは、通常の機能拡張を使用してカスタム データ ジェネレーターを作成する方法について説明します。 ほとんどの場合は、通常の拡張機能を使用する方法をお勧めします。 宣言機能拡張、集約機能拡張、基本機能拡張などの他の方法を使用して、カスタム データ ジェネレーターを作成することもできます。 詳細については、「データ ジェネレーター機能拡張の概要」を参照してください。

方法: カスタム データ ジェネレーターを作成する

  1. クラス ライブラリ プロジェクトを作成します。

  2. ソリューション エクスプローラーで、プロジェクトを右クリックし、[参照の追加] をクリックします。

    [参照の追加] ダイアログ ボックスが表示されます。

  3. [.NET] タブをクリックします。 [コンポーネント名] ボックスの一覧の [Microsoft.Data.Schema] をクリックし、[OK] をクリックします。

  4. (省略可能、Visual Basic のみ) ソリューション エクスプローラーで、[すべてのファイルを表示] をクリックし、[参照設定] ノードを展開して、新しい参照を確認します。

  5. [コード] ウィンドウの一番上のクラス宣言の前に、次のコード行を追加します。

    Microsoft.Data.Schema.Tools.DataGenerator
    
    Microsoft.Data.Schema.Tools.DataGenerator;
    
  6. クラスの名前を Class1 から適切な名前に変更します。

    ヒント

    既定では、クラス名として指定した名前は、[列の詳細] ウィンドウの [ジェネレーター] 列の一覧に表示されます。 標準のジェネレーターの名前または他のカスタム ジェネレーターの名前と競合しない名前を指定してください。 詳細については、「カスタム データ ジェネレーターの考慮事項」を参照してください。

    Public Class YourGeneratorName
    
    End Class
    
    public class YourGeneratorName
    {
    }
    
  7. 次の例に示すように、Generator からのクラスの継承を指定します。

    Public Class YourGeneratorName
        Inherits Generator
    
    End Class
    
    public class YourGeneratorName: Generator
    {
    }
    
  8. (省略可能) クラス宣言に GeneratorStylesAttribute を追加します。

    重要

    作成したカスタム データ ジェネレーターを特定の種類の列で使用する既定のジェネレーターにする場合は、ジェネレーターが一意の値を生成する必要があり、クラスに GeneratorStylesAttribute を追加する必要があります。 詳細については、「方法 : 列の種類に対応する既定のジェネレーターを変更する」を参照してください。

    <GeneratorStyles(DesignerStyles:=GeneratorDesignerStyles.CanProduceUniqueValues)> _
    Public Class TestGenerator
        Inherits Generator
    
    End Class
    
    [GeneratorStyles(DesignerStyles = GeneratorDesignerStyles.CanProduceUniqueValues)]
    public class TestGenerator:Generator
    {
    }
    
  9. (省略可能) クラス宣言に GeneratorAttribute を追加します。

    ヒント

    この属性は、カスタム データ ジェネレーターのカスタム デザイナーの種類を指定する場合のみクラス宣言に追加します。 カスタム デザイナーの種類を指定しない場合は、この属性を省略できます。省略した場合は、自動的に既定のデザイナーが使用されます。

    <Generator(GetType(CustomDesignerType))> _
    Public Class TestGenerator
        Inherits Generator
    
    End Class
    
    [Generator(typeof(CustomDesignerType))]
    public class TestGenerator:Generator
    {
    }
    
  10. 出力プロパティを少なくとも 1 つ追加します。 詳細については、「方法 : 出力プロパティをデータ ジェネレーターに追加する」を参照してください。

  11. 必要に応じて、入力プロパティを追加します。 詳細については、「方法 : 入力プロパティをデータ ジェネレーターに追加する」を参照してください。

  12. 出力プロパティごとに適切な値を生成するために、OnGenerateNextValues メソッドを実装します。 詳細については、「チュートリアル: カスタム データ ジェネレーターの作成」を参照してください。

  13. アセンブリに厳密な名前で署名します。 詳細については、「チュートリアル: カスタム データ ジェネレーターの作成」を参照してください。

  14. ソリューションをビルドします。

  15. 新しいジェネレーターを Visual Studio に登録します。 詳細については、「方法: 拡張機能を登録および管理する」および「チュートリアル: カスタム データ ジェネレーターの作成」を参照してください。

参照

処理手順

チュートリアル: カスタム データ ジェネレーターの作成

概念

カスタム データ ジェネレーターを使用した特殊なテスト データの生成