Cenni preliminari sull'estensibilità delle regole di analisi del codice del database
Visual Studio Premium e Visual Studio Ultimate includono regole di analisi codice che consentono di generare rapporti sulla progettazione di Transact-SQL, sulla denominazione e sugli avvisi di prestazioni nel codice del database. Per ulteriori informazioni, vedere Analisi del codice di database per migliorare la qualità del codice.
Se le regole di analisi del codice incorporate non coprono un problema di Transact-SQL specifico che si desidera sia incluso, è possibile creare regole di analisi del codice del database personalizzate. Ad esempio è possibile creare una regola personalizzata che eviti l'utilizzo dell'istruzione WAITFOR DELAY, come illustrato in Procedura dettagliata: creazione di un assembly di regole dell'analisi codice statica personalizzate per SQL. Per creare regole di analisi del codice del database personalizzate si utilizzano le classi nello spazio dei nomi Microsoft.Data.Schema.StaticCodeAnalysis.
Prima di creare regole di analisi del codice personalizzate per Visual Studio, è necessario comprendere l'architettura di base fra i vari componenti delle regole di analisi del codice del database.
Componenti delle regole di analisi del codice del database
Nel diagramma seguente è illustrata l'interazione tra i componenti delle regole di analisi del codice del database.
Architettura dell'estensibilità dell'analisi del codice statica in Database Edition
Quando si utilizza la funzionalità delle regole di analisi del codice del database nella sessione corrente di Visual Studio, eseguendo l'analisi del codice statica direttamente (per ulteriori informazioni, vedere Procedura: analizzare il codice Transact-SQL per trovare errori) oppure eseguendo una compilazione, tutte le regole vengono caricate e utilizzate in base a come sono state configurate nel progetto. Per ulteriori informazioni, vedere Procedura: abilitare e disabilitare regole specifiche relative all'analisi statica del codice del database. Gestione estensioni caricherà inoltre qualsiasi assembly di regole personalizzate creato e registrato. Per ulteriori informazioni, vedere Procedura: registrare e gestire estensioni di funzionalità.
Una classe di regole di analisi del codice personalizzate eredita dalla classe StaticCodeAnalysisRule. La classe di regole personalizzate utilizza DataSchemaModel per gestire IModelElement e i rispettivi Microsoft.Data.Schema.ScriptDom, passati al motore dell'analisi del codice statica. Inoltre il modello dello schema di dati fornisce informazioni relative alle query sugli elementi del modello, le relazioni e le annotazioni alle regole di analisi del codice; queste informazioni vengono passate alla Gestione errori.
Vedere anche
Attività
Procedura: registrare e gestire estensioni di funzionalità
Procedura: distribuire estensioni di funzionalità personalizzate ai membri del team
Concetti
Estensione delle funzionalità di database di Visual Studio
Analisi del codice di database per migliorare la qualità del codice
Analisi della qualità del codice gestito tramite analisi del codice