Compartir a través de


Consideraciones acerca de los generadores de datos personalizados

Se pueden extender las capacidades de generación de datos de Visual Studio mediante la creación de generadores de datos personalizados. Si hay una regla del negocio que los generadores de datos estándar no pueden satisfacer, puede crear un generador de datos personalizado. Para obtener más información, vea Generar datos de prueba para bases de datos mediante generadores de datos.

Antes de crear un generador de datos personalizado, debe tener en cuenta las cuestiones siguientes.

Nombre del generador de datos

Cuando se crea un generador de datos personalizado, es posible controlar el nombre que aparece en la interfaz de usuario para ese generador de datos personalizado. Debe evitar asignar el mismo nombre a varios generadores de datos. También debe evitar asignar a su generador el mismo nombre que cualquiera de los generadores de datos integrados.

Asignar nombre cuando se usa una API declarativa

Si no declara un diseñador para utilizarlo con el generador de datos personalizado, el nombre de la clase del generador de datos aparece como el nombre para mostrar cuando se crea DefaultDistributionDesigner.

Para especificar el nombre que aparecerá en la interfaz de usuario para el generador de datos personalizado, puede aplicar el atributo siguiente a la clase del generador de datos personalizado:

[System.ComponentModel.DisplayName("YourGeneratorName")]

Asignar nombre cuando se usa una API base

Si crea un diseñador personalizado, el valor devuelto por la propiedad Name de ese diseñador aparece en la interfaz de usuario para el generador de datos personalizado. Si deriva el diseñador personalizado de DefaultGeneratorDesigner, se utiliza el atributo DisplayName. Si deriva el diseñador personalizado de IGeneratorDesigner, se pasa por alto el atributo DisplayName.

Para especificar el atributo DisplayName para el generador de datos, debe agregar el atributo siguiente a la clase del generador de datos:

[System.ComponentModel.DisplayName("YourGeneratorName")]

Especificar un generador de datos personalizado como generador de datos predeterminado para un tipo de datos de SQL

Puede asignar un generador de datos personalizado como generador de datos predeterminado para un tipo de datos de SQL. Para obtener más información, vea Cómo: Cambiar el generador predeterminado para un tipo de columna.

Cuando asigna un generador personalizado como el predeterminado para un tipo de datos de SQL, se aplican las restricciones siguientes:

  • Puede asignar un generador de datos personalizado a cualquier tipo de datos de SQL que no pueda tener una restricción UNIQUE. Por ejemplo, puede asignar un generador de datos personalizado al tipo de datos Image.

  • Puede asignar un generador de datos personalizado que no tenga ningún atributo de filtro a cualquier tipo de datos de SQL.

  • Puede asignar un generador de datos personalizado que tenga atributos de filtro a un tipo de datos de SQL que solo pueda tener una restricción UNIQUE si el generador de datos personalizado puede generar valores únicos. Para designar este tipo de generador, aplique el atributo siguiente a la clase de generador de datos personalizado:

    <GeneratorStyles(DesignerStyles:=GeneratorDesignerStyles.CanProduceUniqueValues)> _
    Public Class TestGenerator
        Inherits Generator
    
    End Class
    
    [GeneratorStyles(DesignerStyles = GeneratorDesignerStyles.CanProduceUniqueValues)]
    public class TestGenerator:Generator
    {
    }
    

Diseñadores personalizados

De forma predeterminada, los generadores de datos personalizados utilizan el diseñador predeterminado.

Si desea utilizar un diseñador personalizado con su generador de datos personalizado, debe especificar un atributo adicional en la clase de generador de datos personalizado:

<Generator(GetType(CustomDesignerType))> _
Public Class TestGenerator
    Inherits Generator

End Class
[Generator(typeof(CustomDesignerType))]
public class TestGenerator:Generator
{
}

Propiedades de entrada asignadas automáticamente

Si marca una o más propiedades de entrada para su generador de datos personalizado con el atributo AutoAssignedInput, también debe definir esas propiedades como de solo lectura. La propiedad que tiene una entrada asignada automáticamente necesita tener un establecedor pero debe tener la propiedad ReadOnly establecida en True en su InputDescriptor.

Los valores de la mayoría de las propiedades marcadas como asignadas automáticamente se restablecen al abrir el plan de generación de datos. Por ejemplo, las propiedades Collation, DataType, MaxLength, Nullable y RowsToGenerate, se restablecen cuando se marcan como autoasignadas. Por el contrario, las propiedades Unique, Seed y PercentageNull no se restablecen cuando están marcadas como asignadas automáticamente.

Si hace que las propiedades cuyos valores se restablecerán sean de solo lectura, evitará confundir a los usuarios del generador de datos personalizado.

Vea también

Tareas

Cómo: Crear generadores de datos personalizados

Tutorial: Crear un generador de datos personalizado

Conceptos

Descripción general de la extensibilidad del Generador de datos

Generar datos de pruebas especializados con un generador de datos personalizado