如何:创建自定义数据生成器
自定义数据生成器是数据生成器功能可用来在数据生成计划中生成数据的组件。 尽管数据生成器功能提供了几个预设的生成器,但是您可能希望创建可满足您的特定需求的自定义生成器。
本主题介绍如何使用典型扩展性创建自定义数据生成器。 典型扩展性是在大多数情况下建议使用的方法。 也可以使用其他方法来创建自定义数据生成器,其中包括声明性扩展性、聚合扩展性和基扩展性。 有关更多信息,请参见数据生成器扩展性概述。
创建自定义数据生成器
创建一个类库项目。
在**“解决方案资源管理器”中右击项目,再单击“添加引用”**。
此时将出现**“添加引用”**对话框。
单击**“.NET”选项卡。 在“组件名称”列表中,单击“Microsoft.Data.Schema”,再单击“确定”**。
(可选,仅限 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 { }
至少添加一个输出属性。 有关更多信息,请参见如何:将输出属性添加到数据生成器。
如有必要,添加输入属性。 有关更多信息,请参见如何:将输入属性添加到数据生成器。
实现 OnGenerateNextValues 方法,以便为每个输出属性生成适当的值。 有关更多信息,请参见演练:创建自定义数据生成器。
用强名称对程序集进行签名。 有关更多信息,请参见演练:创建自定义数据生成器。
生成解决方案。
向 Visual Studio 注册新生成器。 有关更多信息,请参见如何:注册和管理功能扩展和演练:创建自定义数据生成器。