Mapeamentos de tipos de dados no ADO.NET
O .NET Framework é baseado no Common Type System, que define como os tipos são declarados, usados e gerenciados em runtime. Consiste nos tipos de valor e nos tipos de referência, que derivam do tipo de base Object. Ao trabalhar com uma fonte de dados, o tipo de dados será inferido no provedor de dados se não for especificado explicitamente. Por exemplo, um objeto DataSet é independente de qualquer fonte de dados específica. Os dados de um DataSet
são recuperados de uma fonte de dados, e as alterações são persistidas de volta para a fonte de dados usando o DataAdapter
. Isso significa que quando o DataAdapter
preenche um DataTable em um DataSet
com valores de uma fonte de dados, os tipos de dados resultantes das colunas no DataTable
são tipos .NET Framework, em vez de tipos específicos ao provedor de dados .NET Framework, que é usado para conectar a fonte de dados.
Da mesma forma, quando um DataReader
retorna um valor de uma fonte de dados, o valor resultante é armazenado em uma variável local que tem um tipo de .NET Framework. Para as operações Fill
do DataAdapter
e os métodos Get
do DataReader
, o tipo .NET Framework é inferido do valor retornado do provedor de dados .NET Framework.
Em vez de depender do tipo de dados inferido, você pode usar os métodos acessadores tipados do DataReader
quando souber o tipo específico do valor que está sendo retornado. Os métodos acessadores tipados oferecem melhor desempenho retornando um valor como um tipo específico de .NET Framework, o que elimina a necessidade de conversão de tipo adicional.
Observação
Valores nulos para tipos de dados do provedor de dados .NET Framework são representados por DBNull.Value
.
Nesta seção
Mapeamentos de tipo de dados do SQL Server
As listas inferiram mapeamentos de tipos de dados e de métodos de acessador de dados para System.Data.SqlClient.
Mapeamentos de tipo de dados do OLE DB
As listas inferiram mapeamentos de tipos de dados e de métodos de acessador de dados para System.Data.OleDb.
Mapeamentos de tipo de dados ODBC
As listas inferiram mapeamentos de tipos de dados e de métodos de acessador de dados para System.Data.Odbc.
Mapeamentos de tipo de dados Oracle
As listas inferiram mapeamentos de tipos de dados e de métodos de acessador de dados para System.Data.OracleClient.
Números de ponto flutuante
Descreve os problemas que os desenvolvedores geralmente encontram ao trabalhar com números de ponto flutuante.