http://msdn.microsoft.com/zh-cn/vstudio/cc716729.aspx
SQL Server 和 .NET Framework 基于不同的类型系统。 例如,.NET Framework Decimal 结构的最大小数位数为 28,而 SQL Server 的 decimal 和 numeric 数据类型的最大小数位数为 38。 为了在读取和写入数据时维护数据的完整性,SqlDataReader 将公开用于返回 System.Data.SqlTypes 的对象的 SQL Server 特定的类型化访问器方法以及用于返回 .NET Framework 类型的访问器方法。 SQL Server 类型和 .NET Framework 类型也可通过 DbType 和 SqlDbType 类中的枚举表示,当您指定 SqlParameter 数据类型时可以使用这些枚举。
下表显示推断的 .NET Framework 类型、DbType 和 SqlDbType 枚举以及 SqlDataReader 的访问器方法。
| SQL Server 数据库引擎类型 | .NET Framework 类型 | SqlDbType 枚举 | SqlDataReader SqlTypes 类型化访问器 | DbType 枚举 | SqlDataReader DbType 类型化访问器 |
|---|---|---|---|---|---|
| bigint | Int64 | BigInt | Int64 | ||
| binary | Byte[] | VarBinary | Binary | ||
| bit | Boolean | Bit | Boolean | ||
| char | String Char[] | Char | AnsiStringFixedLength , String | ||
| date (仅适用 SQL Server 2008) | DateTime | Date | |||
| datetime | DateTime | DateTime | DateTime | ||
| datetime2 (仅适用 SQL Server 2008) | DateTime2 | ||||
| datetimeoffset (仅适用 SQL Server 2008) | DateTimeOffset | 无 | |||
| decimal | Decimal | Decimal | Decimal | ||
| FILESTREAM 属性 (varbinary(max) | Byte[] | VarBinary | Binary | ||
| float | Double | Float | Double | ||
| image | Byte[] | Binary | Binary | ||
| int | Int32 | Int | Int32 | ||
| money | Decimal | Money | Decimal | ||
| nchar | String Char[] | NChar | StringFixedLength | ||
| ntext | String Char[] | NText | String | ||
| numeric | Decimal | Decimal | Decimal | ||
| nvarchar | String Char[] | NVarChar | String | ||
| real | Single | Real | Single | ||
| rowversion | Byte[] | Timestamp | Binary | ||
| smalldatetime | DateTime | DateTime | DateTime | ||
| smallint | Int16 | SmallInt | Int16 | ||
| smallmoney | Decimal | SmallMoney | Decimal | ||
| sql_variant | Object* | Variant | Object | GetValue * | |
| text | String Char[] | Text | String | ||
| time (仅适用 SQL Server 2008) | TimeSpan | 无 | Time | ||
| timestamp | Byte[] | Timestamp | Binary | ||
| tinyint | Byte | TinyInt | Byte | ||
| uniqueidentifier | Guid | UniqueIdentifier | Guid | ||
| varbinary | Byte[] | VarBinary | Binary | ||
| varchar | String Char[] | VarChar | AnsiString , String | ||
| xml | Xml | Xml | Xml | 无 |
* 如果已知 sql_variant 的基础类型,则使用特定的类型化访问器。
本文介绍了SQLServer数据类型与.NET Framework类型之间的映射关系,包括各种数据类型的.NET Framework等效类型、SqlDbType枚举、SqlDataReader的类型化访问器方法及DbType枚举。对于进行ADO.NET开发的人员来说,理解这些映射对于正确处理数据库交互至关重要。
2695

被折叠的 条评论
为什么被折叠?



