Considérations sur les générateurs de données personnalisés
Mise à jour : novembre 2007
Vous pouvez étendre les fonctionnalités de génération de données de Visual Studio Team System Database Edition en créant des générateurs de données personnalisés ou en étendant les générateurs de données standard. Si vous avez une règle métier que les générateurs de données standard ne peuvent pas satisfaire, vous pouvez créer un générateur de données personnalisé. Pour plus d'informations, consultez Vue d'ensemble de la génération de données. Avant de créer un générateur de données personnalisé, vous devez prendre en compte les points suivants.
Affectation d'un nom au générateur de données
Lorsque vous créez un générateur de données personnalisé, vous pouvez contrôler le nom qui apparaît dans l'interface utilisateur pour ce générateur. Vous devez éviter de donner le même nom à plusieurs générateurs de données, car les utilisateurs ne peuvent pas les distinguer facilement.
Affectation d'un nom lorsque vous utilisez l'API déclarative
Si vous ne déclarez pas de concepteur à utiliser avec votre générateur de données personnalisé, le nom de classe du générateur de données apparaît comme nom complet lorsque le DefaultDistributionDesigner est créé. Vous pouvez appliquer l'attribut suivant à votre classe de générateur de données personnalisé pour spécifier le nom pour le générateur qui apparaît dans l'interface utilisateur pour le générateur de données personnalisé :
[System.ComponentModel.DisplayName("YourGeneratorName")]
Affectation d'un nom lorsque vous utilisez l'API de base
Si vous créez un concepteur personnalisé, la valeur qui est retournée par la propriété [Name] du concepteur apparaît dans l'interface utilisateur pour le générateur de données personnalisé. Si vous dérivez votre concepteur personnalisé de DefaultDistributionDesigner, l'attribut DisplayName est utilisé. Si vous dérivez plutôt de IGeneratorDesigner, l'attribut DisplayName est ignoré. Pour spécifier l'attribut DisplayName pour votre générateur de données, vous devez ajouter l'attribut suivant :
[System.ComponentModel.DisplayName("YourGeneratorName")]
Spécification d'un générateur de données personnalisé comme générateur de données par défaut pour un type de données SQL
Vous pouvez assigner un générateur de données personnalisé comme générateur de données par défaut pour un type de données SQL, mais certaines restrictions s'appliquent.
Vous pouvez assigner un générateur de données personnalisé à tout type de données SQL qui ne peut pas avoir de contrainte unique. Par exemple, vous pouvez assigner un générateur de données personnalisé au type de donnée Image.
Vous pouvez assigner un générateur de données personnalisé qui n'a aucun attribut de filtre à tout type de données SQL.
Vous pouvez assigner un générateur de données personnalisé qui a un attribut de filtre à un type de données SQL qui peut avoir une contrainte unique uniquement si le générateur de données personnalisé peut produire des valeurs uniques. Pour désigner ce type de générateur, appliquez l'attribut suivant à la classe de générateur de données personnalisé :
<GeneratorStyles(DesignerStyles:=GeneratorDesignerStyles.CanProduceUniqueValues)> _ Public Class TestGenerator Inherits Generator End Class
[GeneratorStyles(DesignerStyles = GeneratorDesignerStyles.CanProduceUniqueValues)] public class TestGenerator:Generator { }
Concepteurs personnalisés
Par défaut, un générateur de données personnalisé utilisera le concepteur par défaut. Si vous souhaitez utiliser un concepteur personnalisé avec votre générateur de données personnalisé, vous devez spécifier un attribut supplémentaire sur la classe de générateur de données personnalisé :
<Generator(GetType(CustomDesignerType))> _
Public Class TestGenerator
Inherits Generator
End Class
[Generator(typeof(CustomDesignerType))]
public class TestGenerator:Generator
{
}
Propriétés d'entrée assignées automatiquement
Si vous marquez une ou plusieurs propriétés d'entrée pour votre générateur de données personnalisé avec l'attribut AutoAssignedInput, vous devez également définir ces propriétés en lecture seule. La plupart des propriétés que vous marquez comme assignées automatiquement verront leurs valeurs réinitialisées lorsque vous ouvrirez le plan de génération de données. Par exemple, les propriétés Classement, Type de données, MaxLength, Nullable et RowsToGenerate sont toutes réinitialisées lorsqu'elles sont marquées comme assignées automatiquement. Les propriétés Unique, Valeur de départ et PercentageNull ne sont pas réinitialisées. En marquant les propriétés dont les valeurs seront réinitialisées comme étant en lecture seule, vous éviterez toute confusion de la part de l'utilisateur de votre générateur de données personnalisé.
Voir aussi
Tâches
Comment : créer des générateurs de données personnalisés
Procédure pas à pas : création d'un générateur de données personnalisé
Concepts
Vue d'ensemble de l'extensibilité des générateurs de données