Überlegungen zu benutzerdefinierten Datengeneratoren
Aktualisiert: November 2007
Sie können die Datengenerierungsfunktionen von Visual Studio Team System Database Edition erweitern, indem Sie benutzerdefinierte Datengeneratoren erstellen oder Standarddatengeneratoren erweitern. Wenn es eine Geschäftsregel gibt, die die Standarddatengeneratoren nicht erfüllen, können Sie einen benutzerdefinierten Datengenerator erstellen. Weitere Informationen finden Sie unter Übersicht über das Generieren von Daten. Bevor Sie einen benutzerdefinierten Datengenerator erstellen, sollten Sie die folgenden Punkte beachten.
Datengeneratorbenennung
Bei der Erstellung eines benutzerdefinierten Datengenerators können Sie den Namen festlegen, der auf der Benutzeroberfläche für diesen benutzerdefinierten Datengenerator angezeigt wird. Vermeiden Sie es nach Möglichkeit, mehreren Datengeneratoren denselben Namen zu geben. Die Benutzer können sie dann nicht mehr so leicht unterscheiden.
Benennung bei Verwendung der deklarativen API
Sofern Sie keinen Designer für den benutzerdefinierten Datengenerator deklarieren, wird der Klassenname des Datengenerators als Anzeigename angezeigt, wenn Sie den DefaultDistributionDesigner erstellen. Sie können das folgende Attribut auf die Klasse des benutzerdefinierten Datengenerators anwenden, um den Namen für den Generator anzugeben, der auf der Benutzeroberfläche für den benutzerdefinierten Datengenerator angezeigt wird:
[System.ComponentModel.DisplayName("YourGeneratorName")]
Benennung bei Verwendung der Basis-API
Wenn Sie einen benutzerdefinierten Designer erstellen, wird der von der [Name]-Eigenschaft des Designers zurückgegebene Wert auf der Benutzeroberfläche für den benutzerdefinierten Datengenerator angezeigt. Wenn Sie den benutzerdefinierten Designer von DefaultDistributionDesigner ableiten, wird das DisplayName-Attribut verwendet. Wenn Sie ihn dagegen von IGeneratorDesigner ableiten, wird das DisplayName-Attribut ignoriert. Um das DisplayName-Attribut für den Datengenerator anzugeben, müssen Sie das folgende Attribut hinzufügen:
[System.ComponentModel.DisplayName("YourGeneratorName")]
Angeben eines benutzerdefinierten Datengenerators als Standarddatengenerator für einen SQL-Datentyp
Sie können einen benutzerdefinierten Datengenerator als Standarddatengenerator für einen SQL-Datentyp zuweisen. Dabei gelten jedoch einige Beschränkungen.
Sie können einen benutzerdefinierten Datengenerator jedem SQL-Datentyp zuweisen, der keine UNIQUE-Einschränkung haben kann. Zum Beispiel können Sie dem Image-Datentyp einen benutzerdefinierten Datengenerator zuweisen.
Sie können einen benutzerdefinierten Datengenerator, der kein Filterattribut hat, jedem SQL-Datentyp zuweisen.
Sie können einen benutzerdefinierten Datengenerator, der ein Filterattribut besitzt, einem SQL-Datentyp, der eine UNIQUE-Beschränkung besitzen kann, nur dann zuweisen, wenn der benutzerdefinierte Datengenerator eindeutige Werte erzeugen kann. Um diese Art von Generator festzulegen, wenden Sie das folgende Attribut auf die benutzerdefinierte Datengeneratorklasse an:
<GeneratorStyles(DesignerStyles:=GeneratorDesignerStyles.CanProduceUniqueValues)> _ Public Class TestGenerator Inherits Generator End Class
[GeneratorStyles(DesignerStyles = GeneratorDesignerStyles.CanProduceUniqueValues)] public class TestGenerator:Generator { }
Benutzerdefinierte Designer
Standardmäßig verwendet ein benutzerdefinierter Datengenerator den Standarddesigner. Wenn Sie einen benutzerdefinierten Designer mit Ihrem benutzerdefinierten Datengenerator verwenden möchten, müssen Sie in der benutzerdefinierten Datengeneratorklasse ein zusätzliches Attribut angeben:
<Generator(GetType(CustomDesignerType))> _
Public Class TestGenerator
Inherits Generator
End Class
[Generator(typeof(CustomDesignerType))]
public class TestGenerator:Generator
{
}
Automatisch zugewiesene Eingabeeigenschaften
Wenn Sie eine oder mehrere Eingabeeigenschaften für den benutzerdefinierten Datengenerator mit dem AutoAssignedInput-Attribut markieren, sollten Sie für diese Eigenschaften auch einen Schreibschutz festlegen. Die Werte der meisten Eigenschaften, die Sie als automatisch zugewiesen markieren, werden zurückgesetzt, wenn Sie den Datengenerierungsplan öffnen. Die Eigenschaften Collation, Data Type, MaxLength, Nullable und RowsToGenerate beispielsweise werden alle zurückgesetzt, wenn sie als automatisch zugewiesen markiert werden. Die Eigenschaften Unique, Seed und PercentageNull werden nicht zurückgesetzt. Markieren Sie die Eigenschaften, deren Werte zurückgesetzt werden, als schreibgeschützt. So tragen Sie dazu bei, dass Verwechslungen durch Benutzer Ihres benutzerdefinierten Datengenerators vermieden werden.
Siehe auch
Aufgaben
Gewusst wie: Erstellen von benutzerdefinierten Datengeneratoren
Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten Datengenerators