ADO.NET 中的数据类型映射

.NET Framework 基于通用类型系统,它定义如何在运行时中声明、使用和管理类型。 它由值类型和引用类型组成,这两种类型均派生自 Object 基类型。 使用数据源时,如果未显式指定数据类型,则从数据提供程序推断出它。 例如,DataSet 对象独立于任何特定的数据源。 DataSet 中的数据从数据源中进行检索,而更改则会使用 DataAdapter 持久保存回数据源。 这意味着当 DataAdapter 使用数据源中的值填充 DataTable 中的 DataSet 时,DataTable 中列的结果数据类型为 .NET Framework 类型,而不是用于连接数据源的特定于 .NET Framework 数据提供程序的类型。

同样,当 DataReader 从数据源返回值时,生成的值将存储在具有 .NET Framework 类型的局部变量中。 对于FillDataAdapter操作和GetDataReader方法,.NET Framework 类型是从 .NET Framework 数据提供程序返回的值推断出的。

当所返回值的特定类型已知时,可以使用 DataReader 的类型化访问器方法,而不是依靠推断出的数据类型。 类型化访问器方法无需进行额外的类型转换,即可将值作为特定的 .NET Framework 类型返回,从而提供更好的性能。

注释

.NET Framework 数据提供程序数据类型的 null 值都用 DBNull.Value 表示。

本节中

SQL Server 数据类型映射
列出与 System.Data.SqlClient 相关的推断数据类型映射和数据访问器方法。

OLE DB 数据类型映射
列出与 System.Data.OleDb 相关的推断数据类型映射和数据访问器方法。

ODBC 数据类型映射
列出与 System.Data.Odbc 相关的推断数据类型映射和数据访问器方法。

Oracle 数据类型映射
列出与 System.Data.OracleClient 相关的推断数据类型映射和数据访问器方法。

Floating-Point 数字
介绍开发人员在使用浮点数时经常遇到的问题。

另请参阅