Condividi tramite


Considerazioni per i generatori di dati personalizzati

Aggiornamento: novembre 2007

È possibile ampliare le funzionalità di generazione dati di Visual Studio Team System Database Edition creando generatori di dati personalizzati o estendendo quelli standard. Se esiste una regola business che i generatori di dati standard non possono soddisfare, è possibile creare un generatore di dati personalizzato. Per ulteriori informazioni, vedere Cenni preliminari sulla generazione di dati. Prima di creare un generatore di dati personalizzato, è necessario considerare i problemi seguenti.

Denominazione del generatore di dati

Quando si crea un generatore di dati personalizzato, è possibile controllare il nome che verrà visualizzato nell'interfaccia utente per tale generatore. È necessario evitare di dare lo stesso nome a più generatori di dati, in quanto gli utenti non riusciranno distinguerli facilmente tra loro.

Assegnazione di un nome quando si utilizza l'API dichiarativa

Se non si dichiara una finestra di progettazione per l'utilizzo con il generatore di dati personalizzato, quando verrà creata la classe DefaultDistributionDesigner, come nome verrà visualizzato il nome della classe del generatore di dati. È possibile applicare l'attributo seguente alla classe del generatore di dati personalizzato per specificare il nome che verrà visualizzato nell'interfaccia utente per il generatore di dati personalizzato:

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

Assegnazione di un nome quando si utilizza l'API di base

Se si crea una finestra di progettazione personalizzata, per il generatore di dati personalizzato nell'interfaccia utente verrà visualizzato il valore restituito dalla proprietà [Name] della finestra di progettazione. Se si deriva la finestra di progettazione personalizzata dalla classe DefaultDistributionDesigner, verrà utilizzato l'attributo DisplayName. Se la si deriva invece dall'interfaccia IGeneratorDesigner, l'attributo DisplayName verrà ignorato. Per specificare l'attributo DisplayName per il generatore di dati, è necessario aggiungere l'attributo seguente:

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

Specifica di un generatore di dati personalizzato come generatore di dati predefinito per un tipo di dati SQL

È possibile impostare un generatore di dati personalizzato come generatore di dati predefinito per un tipo di dati SQL, ma con alcune limitazioni.

  • È possibile assegnare un generatore di dati personalizzato a qualsiasi tipo di dati SQL che non può avere un vincolo univoco. È ad esempio possibile assegnare un generatore di dati personalizzato al tipo di dati Image.

  • È possibile assegnare un generatore di dati personalizzato privo di attributo di filtro a qualsiasi tipo di dati SQL.

  • È possibile assegnare un generatore di dati personalizzato con un attributo di filtro per un tipo di dati SQL che può avere un vincolo univoco solo se il generatore di dati personalizzato può restituire valori univoci. Per definire questo tipo di generatore, applicare l'attributo seguente alla classe del generatore di dati personalizzata:

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

Finestre di progettazione personalizzate

Per impostazione predefinita, un generatore di dati personalizzato utilizzerà la finestra di progettazione predefinita. Se si desidera utilizzare una finestra di progettazione personalizzata con il generatore di dati personalizzato, è necessario specificare un attributo aggiuntivo nella classe del generatore di dati personalizzata:

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

End Class

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

Proprietà di input assegnate automaticamente

Se si contrassegnano una o più proprietà di input per il generatore di dati personalizzato con l'attributo AutoAssignedInput, è necessario che le proprietà siano di sola lettura. La maggior parte delle proprietà contrassegnate come assegnate automaticamente avranno i valori reimpostati quando si apre il piano di generazione dati. Ad esempio, le proprietà Collation, Data Type, MaxLength, Nullable e RowsToGenerate vengono tutte reimpostate quando sono contrassegnate come assegnate automaticamente. Le proprietà Unique, Seed e PercentageNull non vengono reimpostate. Contrassegnando le proprietà i cui valori verranno reimpostati come di sola lettura, si evita di confondere l'utente del generatore di dati personalizzato.

Vedere anche

Attività

Procedura: creare generatori di dati personalizzati

Procedura dettagliata: creazione di un generatore dati personalizzato

Concetti

Cenni preliminari sulla extensibility dei generatori di dati