Visão geral da extensibilidade do gerador de dados
Você pode usar Visual Studio Team System Database Edition para gerar dados significativos para teste. Usando os geradores de dados incorporada, gerar dados aleatórios, gerar dados de fontes de dados existente e controlar vários aspectos da geração de dados.Se a funcionalidade dos geradores de for insuficiente, você pode criar geradores de dados personalizados.Para criar os geradores de dados personalizados, você deve usar as classes no Microsoft.VisualStudio.TeamSystem.Data.DataGenerator espaço para nome.
A extensibilidade do gerador de dados API
A API de extensibilidade fornece classes da qual os desenvolvedores podem herdar.Além das classes, a API inclui atributos que você pode aplicar às classes derivadas.Ao aplicar esses atributos, você reduz a quantidade de código necessária em geradores personalizados para os casos comuns.
Você pode usar a API de extensibilidade das maneiras a seguir quatro criar geradores de dados personalizados:
Extensibilidade |
Descrição |
Dificuldade em |
Exemplo |
---|---|---|---|
Extensibilty declarativa |
|
Fácil |
Interna no gerador de dados inteiro. |
Extensibilidade normal |
|
Média.Esse método é recomendado na maioria dos casos. |
Demonstra Passo a passo: Criando um gerador de dados personalizados Demonstra Passo a passo: Criando um gerador de dados personalizada para um teste de verificação |
Extensibilidade de agregação |
Médio |
Demonstra Passo a passo: Criando um gerador de dados personalizado que agrega geradores padrão |
|
Extensibilidade base |
|
Difícil |
Nenhum |
Extensibilidade de agregação
Na extensibilidade de agregação, você herdar do Generator classe sistema autônomo de costume. Em seguida, você criar uma ou mais instâncias das classes do gerador de dados padrão.Para acessar as classes padrão de gerador, você deve adicionar uma referência ao Microsoft.VisualStudio.TeamSystem.dados.Generators.dll, que pode ser encontrado no...\Arquivos de programas\Microsoft visual Studio 9.0\DBPro\Extensions.
Extensibilidade base
A API de extensibilidade base é o mecanismo pelo qual o mecanismo de geração de dados e os designers de planos de geração de dados interagem.Essa API foi desenvolvida para atender aos seguintes objetivos:
Robustez — para elevar uma implementação consistente e robusto em ambos os mecanismos de time de design e time de execução.
Flexibilidade — para oferecer suporte a geradores complexos, sistema autônomo sistema autônomo dados ligados gerador.
Uma desvantagem de design é implícita na API de extensibilidade base é que é mais complexa do que a API de extensibilidade declarativa nível mais alto.
Registrando geradores de dados personalizados
Antes de usar o gerador de dados personalizados, você deve registrá-lo em seu computador.Se você estiver fazendo seu gerador de dados personalizados a outras pessoas para usar, eles devem registrar o gerador em seus computadores.Você pode registrar dados personalizados geradores das maneiras a seguir:
Método |
Permissões necessárias |
Exemplo |
---|---|---|
Registre o gerador na pasta particular Assemblies. |
Usuário de potência ou superior. |
Como: Registrar geradores de dados personalizados Demonstra Passo a passo: Registrando um gerador de dados personalizados |
Registre o gerador de no cache global de assemblies. |
Administrador |
Nenhum |
Crie um projeto de implantação para registrar o gerador. |
Administrador |
Nenhum |
Geradores de dados, distribuição e designers
Você pode criar geradores de dados personalizados e designers personalizados para esses geradores.Você também pode criar distribuições personalizadas para dados numéricos geradores e designers personalizados para as distribuições.
Geradores de dados personalizados gerar dados aleatórios de teste de acordo com um conjunto de regras que você especificar.Você pode usar o designer do padrão com esses geradores ou você pode criar um designer personalizado para eles herdam DefaultGeneratorDesigner. Por exemplo, o gerador de dados de expressão regular é um gerador de interno, mas usa um designer personalizado para que ele possa realizar validação personalizada de entradas de usuário em time de design.
Usando um designer personalizado gerador, você pode personalizar propriedades como entradas e saídas são recuperados do usuário, defina valores padrão e especificar o comportamento de validação.
Usando uma distribuição personalizada, você pode controle a distribuição dos valores numéricos que gera um gerador de dados.
Designers de distribuição personalizado controlam o comportamento do time de design para uma distribuição personalizado.Esse comportamento inclui ao obter os nomes das propriedades de entrada para a distribuição, definir os valores padrão das propriedades de entrada e validar os valores das propriedades de entrada para a distribuição.
Geradores de dados e localização
Os geradores de dados incluídos no Team Edition for Database Professionals são localizadas porque Visual Studio Envia versões em vários idiomas. Você provavelmente não é necessário que localizar seus geradores de dados personalizados.Se for necessário criar um gerador de dados que será traduzido, você deve criar um designer personalizado.Você também pode substituir o GetInputs método para localizar os nomes das propriedades de entrada.
Observação: Se possível, você deve herdar a DefaultGeneratorDesigner classe, não implementar o IDesigner interface para evitar trabalho extra.
Instanciação de gerador de dados
Geradores de dados personalizados podem compartilhar dados.O escopo dos dados compartilhados é tipo de gerador e de tabela SQL.Cada tipo de gerador possui um dicionário de ocorrência exclusivos para cada tabela do SQL.Por exemplo, um gerador de dados personalizados para uma tabela denominada Customers tem acesso a um dicionário compartilhado.Você pode colocar as informações no dicionário de e compartilhar essas informações.O dicionário é garantido para ser a mesma instância de cada tipo de gerador e tabela.Por exemplo, você pode criar um gerador de dados personalizados e solicitar o dicionário de GeneratorInit. Você pode verificar se o dicionário contém informações compartilhadas.Em caso afirmativo, você pode usar as informações para gerar dados.Você também pode criar as informações compartilhadas que Outros instâncias do seu gerador de podem usar.
Observação: |
---|
Gerador de instância é uma técnica avançada.Você pode usar o gerador de instância para criar um gerador de dados personalizados que alças de seleção restrições em colunas.Por exemplo, uma restrição de verificação que requer que uma coluna é maior do que outra coluna. |
O processo de geração de dados
Geração de dados ocorre nas seguintes fases:
Determine o tipo de Designer |
time de design |
Essa fase requer o tipo de gerador de dados sistema autônomo entrada.O mecanismo, em seguida, pode consultar o GeneratorAttribute para recuperar o tipo do designer. Na maioria dos casos, GeneratorAttribute é herdada da classe base, que especifica o designer do padrão. |
Instanciar e inicializar o Designer |
time de design |
O designer é instanciado.O designer é inicializado chamando Initialize e passando o tipo de gerador sistema autônomo um argumento. |
Recuperar os descritores de entrada |
time de design |
The InputDescriptors são recuperados do designer. O designer padrão faz isso Recuperando todas as propriedades do gerador de dados que são marcadas com o InputAttribute. |
conjunto os valores padrão |
time de design |
Os valores padrão são conjunto. |
Obter descrições de saída da gerador |
time de design |
OutputDescriptors são recuperados do designer. O designer de padrão utiliza propriedades marcadas com OutputAttribute Para criar descrições que aparecem na Gerador de saída coluna de do Detalhes da coluna janela. |
Criar uma instância do gerador |
time de execução |
O gerador de dados é instanciado, usando o construtor padrão. |
conjunto entradas gerador |
time de execução |
Todos os valores de entrada são definidos no gerador de dados de descritores de entrada que são recuperados do designer. |
Validar o gerador |
time de execução |
The ValidateInputs método é chamado. Se a validação falhar, o gerador de lançará um InputValidationException exceção. Qualquer exceção diferente de uma exceção de validação de dados é tratada sistema autônomo um erro irrecuperável. |
Inicializar o gerador |
time de execução |
The Initialize método é chamado. Esta etapa permite que o gerador de dados executar qualquer configuração necessária antes que ocorra de geração de dados, sistema autônomo especificando a cadeia de conexão para o banco de dados de destino ou o gerador de números aleatórios de propagação.Essa fase ocorre uma vez antes de ocorre a geração de dados. |
Executar a geração de dados |
time de execução |
Durante esta fase, novos resultados gerados por chamando o GenerateNextValues método. Os resultados podem ser recuperados usando o GetOutputValue método. Este método recupera um valor escalar o gerador corresponde à chave de saída que é passada para o gerador sistema autônomo entrada.Essa fase itera em resultados até que todos os resultados desejados foram gerados. |
Limpar |
time de execução |
Depois que todos os dados geração estiver concluída, Dispose é chamado para limpar o gerador. |
Segurança
Para obter mais informações, consulte Segurança dos geradores de dados.
Consulte também
Tarefas
Como: Criar geradores de dados personalizados
Demonstra Passo a passo: Criando um gerador de dados personalizados
Referência
Microsoft.VisualStudio.TeamSystem.Data.DataGenerator