Mapping dei tipi di dati in ADO.NET
Si applica a: .NET Framework
.NET
.NET Standard
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.