Generator – třída
Představuje abstraktní základní třída pro data generátory.
Hierarchie dědičnosti
System.Object
Microsoft.Data.Schema.Tools.DataGenerator.Generator
Obor názvů: Microsoft.Data.Schema.Tools.DataGenerator
Sestavení: Microsoft.Data.Schema.Tools (v Microsoft.Data.Schema.Tools.dll)
Syntaxe
'Deklarace
<GeneratorAttribute(GetType(DefaultGeneratorDesigner))> _
<CLSCompliantAttribute(True)> _
Public MustInherit Class Generator _
Implements IGenerator, IDisposable, IExtensionInformation, IExtension
[GeneratorAttribute(typeof(DefaultGeneratorDesigner))]
[CLSCompliantAttribute(true)]
public abstract class Generator : IGenerator,
IDisposable, IExtensionInformation, IExtension
[GeneratorAttribute(typeof(DefaultGeneratorDesigner))]
[CLSCompliantAttribute(true)]
public ref class Generator abstract : IGenerator,
IDisposable, IExtensionInformation, IExtension
[<AbstractClass>]
[<GeneratorAttribute(typeof(DefaultGeneratorDesigner))>]
[<CLSCompliantAttribute(true)>]
type Generator =
class
interface IGenerator
interface IDisposable
interface IExtensionInformation
interface IExtension
end
public abstract class Generator implements IGenerator, IDisposable, IExtensionInformation, IExtension
Typ Generator zveřejňuje následující členy.
Konstruktory
Název | Popis | |
---|---|---|
![]() |
Generator | Konstruktory tříd odvozených inicializace volána Generator Třída |
Na začátek
Vlastnosti
Název | Popis | |
---|---|---|
![]() |
Collation | Získá nebo nastaví kompletování nebo jazykově odpovídající řazení sloupce. |
![]() |
Column | Získá nebo nastaví sloupec. |
![]() |
ColumnName | Získá nebo nastaví název sloupce. |
![]() |
Constraints | Získá nebo nastaví informace o kontrolu omezení pro sloupec. |
![]() |
DefaultLocaleId | Získá nebo nastaví ID národního prostředí. |
![]() |
DefaultValue | Získá nebo nastaví výchozí hodnoty sloupce. |
![]() |
ExtensionHandle | Získá popisovač rozšíření. |
![]() |
MaxLength | Získá nebo nastaví maximální délka hodnoty v tomto sloupci. |
![]() |
Nullable | Získá nebo nastaví hodnotu, která označuje, zda tento sloupec můžete nastavit nullodkaz Null (Nothing v jazyce Visual Basic). |
![]() |
OutputKey | Získá nebo nastaví klíč používaný k načtení hodnot výstupu. |
![]() |
PercentageNull | Získá nebo nastaví procentuální hodnoty generované pro tento sloupec, který uživatel chce být nullodkaz Null (Nothing v jazyce Visual Basic).Procentuální hodnota je vyjádřena jako celé číslo mezi 0 a 100. |
![]() |
Precision | Získá nebo nastaví přesnost údajů. |
![]() |
RowsToInsert | Získá nebo nastaví počet řádků generovat. |
![]() |
Scale | Získá nebo nastaví měřítko data. |
![]() |
SchemaName | Získá nebo nastaví název schématu, do které patří sloupce. |
![]() |
Seed | Získá nebo nastaví osiva.Osivo lze inicializovat algoritmus generace deterministický náhodná data. |
![]() |
TableName | Získá nebo nastaví název tabulky, do které patří sloupce. |
![]() |
TargetType | Získá nebo nastaví datový typ cílového sloupce. |
![]() |
Unique | Získá nebo nastaví hodnotu, která označuje, zda je sloupec, který je generován část omezení primárního klíče nebo jedinečnosti. |
Na začátek
Metody
Název | Popis | |
---|---|---|
![]() |
Dispose() | Uvolní všechny prostředky používané Generator. |
![]() |
Dispose(Boolean) | Uvolní nespravované prostředky, které jsou používány Generator a volitelně spravované prostředky. |
![]() |
Equals | Určuje, zda zadaná Object se rovná aktuální Object. (Zděděno z Object.) |
![]() |
Finalize | Umožňuje zkuste uvolnit prostředky a provádět další operace vyčištění před je převzaty systémem pro uvolnění objektu. (Zděděno z Object.) |
![]() |
GenerateNextValues | Generuje další hodnotu podle data algoritmus generace. |
![]() |
GetHashCode | Slouží jako funkce hash určitého typu. (Zděděno z Object.) |
![]() |
GetOutputValue | Načte hodnotu výstupu pomocí OutputKey. |
![]() |
GetType | Získává Type aktuální instance. (Zděděno z Object.) |
![]() |
Initialize | Inicializuje generátor data. |
![]() |
MemberwiseClone | Vytvoří kopii aktuální Object. (Zděděno z Object.) |
![]() |
OnGenerateNextValues | Generuje další hodnotu podle data algoritmus generace. |
![]() |
OnGetOutputValue | Načte aktuální sadu výsledků, který se skládá z jedné nebo více hodnot. |
![]() |
OnInitialize | Inicializuje generátoru. |
![]() |
OnNextValues | Generuje další sadu hodnot pro řádek dat |
![]() |
OnSetInputValues | Nastaví vlastnosti vstupní data generátor pomocí poskytnutého seznam pojmenovaných hodnot. |
![]() |
OnValidateInputs | Ověří nastavení požadovaných vstupy na generátor data. |
![]() |
SetExtensionHandle | Nastaví popisovač rozšíření pomocí úchytu zadanou příponu. |
![]() |
SetInputValues | Nastaví vstupní hodnoty dat generátoru. |
![]() |
ToString | Vrátí řetězec, který představuje aktuální objekt. (Zděděno z Object.) |
![]() |
ValidateInputs | Ověří nastavení požadovaných vstupy na generátor data. |
Na začátek
Poznámky
Pokud generátory standardní data jsou nedostatečné, můžete vytvořit vlastní data generátory. Vytvořit generátor vlastní data, musíte vytvořit třídu, která implementuje IGenerator nebo dědí z Generator. Identifikaci třídy dat generátoru podle stavební dokončovací práce s GeneratorAttribute.
Můžete vytvořit vlastní designer pro vlastní data zdroje tepla, nebo můžete použít DefaultGeneratorDesigner.
Základní třídy implementace sestaví výstupů, které jsou založeny na veřejné vlastnosti označené OutputAttribute. Vstupy jsou nastaveny pomocí InputAttribute. Použití vlastnosti označené s atributy poskytuje jednoduchý mechanismus pro deklarování vstupní a výstupní hodnoty, které jsou silný.
Příklady
Generátory standardní data nelze generovat data splňují některé kontrolních omezení. Například datum je jedna dvě odlišné oblasti vyžadující omezení nelze použít standardní DateTime generátor. Tento příklad vytvoří generátor vlastní data, která uspokojuje taková omezení. Dvě odlišné oblasti přijímá jako vstupní generátoru a generuje náhodné datum, které je jedním ze dvou oblastí. Další informace naleznete v tématu Walkthrough: Vytváření Generátor data Uživatelský Zaškrtnout omezení.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.VisualStudio.TeamSystem.Data.DataGenerator;
namespace GeneratorDateRangesCS
{
public class GeneratorDateRangesCS : Generator
{
DateTime mRange1Min;
DateTime mRange1Max;
DateTime mRange2Min;
DateTime mRange2Max;
[Input]
public DateTime Range1Min
{
set {mRange1Min = value;}
}
[Input]
public DateTime Range1Max
{
set {mRange1Max = value;}
}
[Input]
public DateTime Range2Min
{
set {mRange2Min = value;}
}
[Input]
public DateTime Range2Max
{
set {mRange2Max = value;}
}
DateTime mRandomDate;
[Output]
public DateTime RandomDate
{
get {return mRandomDate;}
}
Random mRandom;
Random mRandomRange;
protected override void OnInitialize(GeneratorInit initInfo)
{
// Deterministic
mRandom = new Random(this.Seed);
mRandomRange = new Random(this.Seed); //deterministic
// Non-deterministic
//mRandom = new Random();
//mRandomRange = new Random();
base.OnInitialize(initInfo);
}
protected override void OnGenerateNextValues()
{
DateTime min;
DateTime max;
// Generate a random date from either range 1 or range 2.
// Randomly select either range 1 or range 2 by randomly
// generating an odd or an even random number.
if (mRandomRange.Next() % 2 == 0) //check for odd or even
{
min = mRange1Min;
max = mRange1Max;
}
else
{
min = mRange2Min;
max = mRange2Max;
}
// The formula for creating a random number in a specific
// range is: of range + (size of range * random number
// between 0 and 1)
//size of range
TimeSpan range = max - min;
// (Size of range * random number between 0 and 1)
TimeSpan randomNumber = new TimeSpan(
(long)(range.Ticks * mRandom.NextDouble()));
// Start of range + (size of range * random number
// between 0 and 1)
mRandomDate = min + randomNumber;
}
} // End of class
} // End of namespace
Imports Microsoft.VisualStudio.TeamSystem.Data.DataGenerator
Public Class GeneratorDateRangesVB
Inherits Generator
Dim mRange1Min As Date
Dim mRange1Max As Date
Dim mRange2Min As Date
Dim mRange2Max As Date
<Input()> _
Public WriteOnly Property Range1Min() As Date
Set(ByVal value As Date)
mRange1Min = value
End Set
End Property
<Input()> _
Public WriteOnly Property Range1Max() As Date
Set(ByVal value As Date)
mRange1Max = value
End Set
End Property
<Input()> _
Public WriteOnly Property Range2Min() As Date
Set(ByVal value As Date)
mRange2Min = value
End Set
End Property
<Input()> _
Public WriteOnly Property Range2Max() As Date
Set(ByVal value As Date)
mRange2Max = value
End Set
End Property
Dim mRandomDate As Date
<Output()> _
Public ReadOnly Property RandomDate() As Date
Get
Return mRandomDate
End Get
End Property
Dim mRandom As Random
Dim mRandomRange As Random
Protected Overrides Sub OnInitialize(ByVal initInfo _
As GeneratorInit)
mRandom = New Random(Me.Seed) 'deterministic
mRandomRange = New Random(Me.Seed) 'deterministic
'mRandom = New Random() 'non-deterministic
'mRandomRange = New Random() 'non-deterministic
MyBase.OnInitialize(initInfo)
End Sub
Protected Overrides Sub OnGenerateNextValues()
Dim min As Date
Dim max As Date
' Generate a random date from either range 1 or range 2.
' Randomly select either range 1 or range 2 by randomly
' generating an odd or an even random number.
'------------------------------------------------------------
If mRandomRange.Next() Mod 2 = 0 Then 'check for odd or even
min = mRange1Min
max = mRange1Max
Else
min = mRange2Min
max = mRange2Max
End If
' The formula for creating a random number in a specific
' range is: of range + (size of range * random number
' between 0 and 1)
' Size of range
Dim range As TimeSpan = max - min
' (Size of range * random number between 0 and 1)
Dim randomNumber As TimeSpan = _
New TimeSpan(CLng(range.Ticks * mRandom.NextDouble()))
' Start of range + (size of range * random number
' between 0 and 1)
mRandomDate = min + randomNumber
End Sub
End Class
Zabezpečení podprocesu
Všechny veřejné členy static (Shared v jazyce Visual Basic) tohoto typu jsou zabezpečeny pro používání podprocesů. Zabezpečení sdílených členů pro používání podprocesů není zaručeno.
Viz také
Odkaz
Microsoft.Data.Schema.Tools.DataGenerator – obor názvů
Další zdroje
Walkthrough: Vytváření Generátor data Uživatelský Zaškrtnout omezení
Creating Custom Data Generators