Compartilhar via


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.

Confira também