カスタム データ ジェネレーターは、データ ジェネレーター機能がデータ生成計画でデータを生成するために使用できるコンポーネントです。 データ ジェネレーター機能は設定済みのジェネレーターを複数提供していますが、特定のニーズに合うカスタム ジェネレーターを作成することが必要になる場合があります。
このトピックでは、通常の機能拡張を使用してカスタム データ ジェネレーターを作成する方法について説明します。 ほとんどの場合は、通常の拡張機能を使用する方法をお勧めします。 宣言機能拡張、集約機能拡張、基本機能拡張などの他の方法を使用して、カスタム データ ジェネレーターを作成することもできます。 詳細については、「データ ジェネレーター機能拡張の概要」を参照してください。
方法: カスタム データ ジェネレーターを作成する
クラス ライブラリ プロジェクトを作成します。
ソリューション エクスプローラーで、プロジェクトを右クリックし、[参照の追加] をクリックします。
[参照の追加] ダイアログ ボックスが表示されます。
[.NET] タブをクリックします。 [コンポーネント名] ボックスの一覧の [Microsoft.Data.Schema] をクリックし、[OK] をクリックします。
(省略可能、Visual Basic のみ) ソリューション エクスプローラーで、[すべてのファイルを表示] をクリックし、[参照設定] ノードを展開して、新しい参照を確認します。
[コード] ウィンドウの一番上のクラス宣言の前に、次のコード行を追加します。
Microsoft.Data.Schema.Tools.DataGenerator
Microsoft.Data.Schema.Tools.DataGenerator;
クラスの名前を Class1 から適切な名前に変更します。
ヒント
既定では、クラス名として指定した名前は、[列の詳細] ウィンドウの [ジェネレーター] 列の一覧に表示されます。 標準のジェネレーターの名前または他のカスタム ジェネレーターの名前と競合しない名前を指定してください。 詳細については、「カスタム データ ジェネレーターの考慮事項」を参照してください。
Public Class YourGeneratorName End Class
public class YourGeneratorName { }
次の例に示すように、Generator からのクラスの継承を指定します。
Public Class YourGeneratorName Inherits Generator End Class
public class YourGeneratorName: Generator { }
(省略可能) クラス宣言に GeneratorStylesAttribute を追加します。
重要
作成したカスタム データ ジェネレーターを特定の種類の列で使用する既定のジェネレーターにする場合は、ジェネレーターが一意の値を生成する必要があり、クラスに GeneratorStylesAttribute を追加する必要があります。 詳細については、「方法 : 列の種類に対応する既定のジェネレーターを変更する」を参照してください。
<GeneratorStyles(DesignerStyles:=GeneratorDesignerStyles.CanProduceUniqueValues)> _ Public Class TestGenerator Inherits Generator End Class
[GeneratorStyles(DesignerStyles = GeneratorDesignerStyles.CanProduceUniqueValues)] public class TestGenerator:Generator { }
(省略可能) クラス宣言に GeneratorAttribute を追加します。
ヒント
この属性は、カスタム データ ジェネレーターのカスタム デザイナーの種類を指定する場合のみクラス宣言に追加します。 カスタム デザイナーの種類を指定しない場合は、この属性を省略できます。省略した場合は、自動的に既定のデザイナーが使用されます。
<Generator(GetType(CustomDesignerType))> _ Public Class TestGenerator Inherits Generator End Class
[Generator(typeof(CustomDesignerType))] public class TestGenerator:Generator { }
出力プロパティを少なくとも 1 つ追加します。 詳細については、「方法 : 出力プロパティをデータ ジェネレーターに追加する」を参照してください。
必要に応じて、入力プロパティを追加します。 詳細については、「方法 : 入力プロパティをデータ ジェネレーターに追加する」を参照してください。
出力プロパティごとに適切な値を生成するために、OnGenerateNextValues メソッドを実装します。 詳細については、「チュートリアル: カスタム データ ジェネレーターの作成」を参照してください。
アセンブリに厳密な名前で署名します。 詳細については、「チュートリアル: カスタム データ ジェネレーターの作成」を参照してください。
ソリューションをビルドします。
新しいジェネレーターを Visual Studio に登録します。 詳細については、「方法: 拡張機能を登録および管理する」および「チュートリアル: カスタム データ ジェネレーターの作成」を参照してください。