Condividi tramite


Mapping dei tipi di dati in ADO.NET

Si applica a: .NET Framework .NET Standard

Scarica ADO.NET

ADO.NET si basa su Common Type System, che definisce la modalità di dichiarazione, uso e gestione dei tipi in runtime. È costituito sia da tipi di valore che da tipi di riferimento, che derivano tutti dal tipo di base Object. Quando si usa un'origine dati, il tipo di dati viene dedotto dal provider di dati, se non è specificato in modo esplicito. Un oggetto DataSet è ad esempio indipendente da qualsiasi origine dati specifica. I dati in un oggetto DataSet vengono recuperati da un'origine dati e le modifiche vengono applicate nell'origine dati usando un oggetto DataAdapter. Questo flusso di programma significa che quando un DataAdapter compila un DataTable in un DataSet con i valori di un'origine dati, i tipi di dati risultanti delle colonne nellaDataTable sono tipi .NET Framework, anziché tipi specifici del provider di dati Microsoft SqlClient per SQL Server usati per la connessione all'origine dati.

Analogamente, quando un DataReader restituisce un valore da un'origine dati, il valore risultante viene archiviato in una variabile locale con un tipo .NET Framework. Per entrambe le operazioni Fill dei metodi DataAdapter e Get del DataReader, il tipo .NET Framework viene dedotto dal valore restituito dal provider di dati Microsoft SqlClient per SQL Server.

Anziché basarsi sul tipo di dati dedotto, quando si conosce il tipo specifico del valore che viene restituito è consigliabile usare i metodi delle funzioni di accesso tipizzate di DataReader . I metodi delle funzioni di accesso tipizzate offrono prestazioni migliori restituendo un valore come tipo .NET Framework specifico, eliminando la necessità di una conversione di tipi aggiuntiva.

Nota

I valori Null per il provider di dati Microsoft SqlClient per SQL Server sono rappresentati da DBNull.Value.

In questa sezione

Mapping dei tipi di dati SQL Server elenca i mapping dei tipi di dati dedotti e i metodi delle funzioni di accesso ai dati per Microsoft.Data.SqlClient.

Numeri a virgola mobile descrive i problemi riscontrati frequentemente dagli sviluppatori quando usano numeri a virgola mobile.

Vedi anche