Provider di tipi

Un provider di tipi F# è un componente che fornisce tipi, proprietà e metodi da utilizzare in un programma. I provider di tipi sono una parte significativa per il supporto di F# 3.0, per una programmazione con informazioni. La chiave per la programmazione con informazioni è eliminare le barriere per utilizzare le diverse risorse trovate in Internet e negli ambienti aziendali moderni. Una barriera significativa per includere una risorsa di informazioni in un programma è la necessità di rappresentare tali informazioni come tipi, proprietà e metodi da utilizzare nell'ambiente di un linguaggio di programmazione. La scrittura manuale di questi tipi richiede molto tempo ed è difficile da gestire. Un'alternativa comune prevede l'utilizzo di un generatore di codice per aggiungere file al progetto. Tuttavia, i tipi convenzionali per la generazione di codice non si adattano alle modalità esplorative di programmazione supportate da F#, perché il codice generato deve essere sostituito ogni volta che viene modificato un riferimento al servizio.

I tipi forniti dal provider di tipi F# sono in genere basati su origini di informazioni esterne. Ad esempio, un tipo di provider F# per SQL fornirà tipi, proprietà e metodi necessari per utilizzare direttamente le tabelle di ogni database SQL al quale è necessario accedere. Analogamente, un tipo di provider per i servizi Web WSDL fornirà i tipi, proprietà e metodi che è necessario utilizzare direttamente con qualsiasi servizio Web WSDL.

Il set di tipi, proprietà e metodi forniti da un provider di tipi F# possono dipendere dai parametri indicati nel codice del programma. Ad esempio, un provider di tipi può fornire tipi diversi in base a una stringa di connessione o un URL di servizio. In questo modo, lo spazio di informazioni disponibile tramite la stringa di connessione o un URL viene integrato direttamente nel programma. Un provider di tipi può inoltre garantire che i gruppi di tipi siano espandibili solamente su richiesta, ovvero vengono espansi se ai tipi viene effettivamente fatto riferimento dal programma. Questo consente di utilizzare l'integrazione diretta su richiesta di spazi di informazioni su larga scala fortemente tipizzati, come i mercati di dati online.

F# contiene diversi provider di tipi incorporati per servizi dati Internet e aziendali di uso comune. Questi tipi di provider forniscono un accesso semplice e regolare a database relazionali SQL, OData basati sulla rete e servizi WSDL e supportano l'utilizzo di query LINQ F# rispetto a tali origini dati.

Se necessario, è possibile creare provider di tipi personalizzati o fare riferimento a provider di tipi creati da altri. Ad esempio, si supponga che l'organizzazione abbia un servizio dati che fornisce un numero elevato e crescente di set di dati denominati, ciascuno con il proprio schema dati stabile. È possibile scegliere di creare un provider di tipi che legge gli schemi ed elenca gli ultimi set di dati disponibili per il programmatore, in una modalità fortemente tipizzata.

Argomenti correlati

Titolo

Descrizione

Procedura dettagliata: accesso a un database SQL tramite provider di tipi (F#)

Viene illustrato come utilizzare il provider di tipi SqlDataConnection per accedere alle tabelle e alle stored procedure di un database SQL, in base a una stringa di connessione per una connessione diretta a un database. L'accesso utilizza un mapping LINQ to SQL.

Procedura dettagliata: accesso a un database SQL tramite entità e provider di tipi (F#)

Viene illustrato come utilizzare il provider di tipi SqlEntityConnection per accedere alle tabelle e alle stored procedure di un database SQL, in base a una stringa di connessione per una connessione diretta a un database. L'accesso utilizza un mapping LINQ to Entities. Questo metodo può essere utilizzato con qualsiasi database, ma nell'esempio viene illustrato SQL Server.

Procedura dettagliata: accesso a un servizio OData tramite provider di tipi (F#)

Viene illustrato come utilizzare il provider di tipi ODataService per accedere a un servizio OData in una modalità fortemente tipizzata in base all'URL di un servizio.

Procedura dettagliata: accesso a un servizio Web tramite provider di tipi (F#)

Viene illustrato come utilizzare il provider di tipi WsdlService per accedere a un servizio web WSDL in una modalità fortemente tipizzata in base a un URL del servizio.

Procedura dettagliata: generazione di tipi F# da un file DBML (F#)

Viene illustrato come utilizzare il provider di tipi DbmlFile per accedere alle tabelle e alle stored procedure di un database SQL, in base a un file DBML che fornisce una specifica dello schema di database LINQ to SQL.

Procedura dettagliata: generazione di tipi F# da un file di schema EDMX (F#)

Viene illustrato come utilizzare il provider di tipi EdmxFile per accedere alle tabelle e alle stored procedure di un database SQL, in base a un file EDMX che fornisce una specifica dello schema Entity Framework.

Esercitazione: creazione di un provider di tipi (F#)

Vengono fornite informazioni sulla scrittura di provider di tipi personalizzati.

Sicurezza dei provider di tipi

Vengono fornite informazioni sulle considerazioni relative alla sicurezza quando si sviluppano provider di tipi.

Risoluzione dei problemi relativi ai provider di tipi

Vengono fornite informazioni sui problemi comuni che possono verificarsi quando si utilizzano provider di tipi e sono inclusi suggerimenti per le soluzioni.

Vedere anche

Concetti

Novità di Visual Studio 2013

Altre risorse

Riferimenti per il linguaggio F#

Visual F#