MsSql数据类型(SqlDbType)与.NET类型(Type)对应关系
MsSql数据类型(SqlDbType)与.NET类型(Type)对应关系
扫一扫加微信
C# Code:
/// <summary>
/// MsSql数据类型对应.NET类型-MsSql数据类型(SqlDbType)与.NET类型(Type)对应关系
/// </summary>
public static IDictionary<SqlDbType, Type> SqlDbType2NetTypeMapping
{
get
{
IDictionary<SqlDbType, Type> map = new Dictionary<SqlDbType, Type>();
map.Add(SqlDbType.BigInt, typeof(System.Int64));
map.Add(SqlDbType.Binary, typeof(System.Byte[]));
map.Add(SqlDbType.Bit, typeof(System.Boolean));
map.Add(SqlDbType.Char, typeof(System.Char));
map.Add(SqlDbType.Date, typeof(System.DateTime));
map.Add(SqlDbType.DateTime, typeof(System.DateTime));
map.Add(SqlDbType.DateTime2, typeof(System.DateTime));
map.Add(SqlDbType.DateTimeOffset, typeof(System.DateTimeOffset));
map.Add(SqlDbType.Decimal, typeof(System.Decimal));
map.Add(SqlDbType.Float, typeof(System.Double));
map.Add(SqlDbType.Image, typeof(System.Byte[]));
map.Add(SqlDbType.Int, typeof(System.Int32));
map.Add(SqlDbType.Money, typeof(System.Decimal));
map.Add(SqlDbType.NChar, typeof(System.String));
map.Add(SqlDbType.NText, typeof(System.String));
map.Add(SqlDbType.NVarChar, typeof(System.String));
map.Add(SqlDbType.Real, typeof(System.Double));//float类型,double
map.Add(SqlDbType.SmallDateTime, typeof(System.DateTime));
map.Add(SqlDbType.SmallInt, typeof(System.Int16));
map.Add(SqlDbType.SmallMoney, typeof(System.Decimal));
map.Add(SqlDbType.Structured, typeof(System.Object));
map.Add(SqlDbType.Text, typeof(System.String));
map.Add(SqlDbType.Time, typeof(System.DateTime));
map.Add(SqlDbType.Timestamp, typeof(System.DateTime));//byte[], 可以定义为datetime
map.Add(SqlDbType.TinyInt, typeof(System.Int16));
map.Add(SqlDbType.Udt, typeof(System.Object));//UDT是用户自定义数据类型
map.Add(SqlDbType.UniqueIdentifier, typeof(System.Guid));
map.Add(SqlDbType.VarBinary, typeof(System.Byte[]));
map.Add(SqlDbType.VarChar, typeof(System.String));
map.Add(SqlDbType.Variant, typeof(System.Object));//sql_variant
map.Add(SqlDbType.Xml, typeof(System.String));
return map;
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// MsSql数据类型对应.NET类型-MsSql数据类型(SqlDbType)与.NET类型(Type)对应关系
/// </summary>
public static IDictionary<SqlDbType, Type> SqlDbType2NetTypeMapping
{
get
{
IDictionary<SqlDbType, Type> map = new Dictionary<SqlDbType, Type>();
map.Add(SqlDbType.BigInt, typeof(System.Int64));
map.Add(SqlDbType.Binary, typeof(System.Byte[]));
map.Add(SqlDbType.Bit, typeof(System.Boolean));
map.Add(SqlDbType.Char, typeof(System.Char));
map.Add(SqlDbType.Date, typeof(System.DateTime));
map.Add(SqlDbType.DateTime, typeof(System.DateTime));
map.Add(SqlDbType.DateTime2, typeof(System.DateTime));
map.Add(SqlDbType.DateTimeOffset, typeof(System.DateTimeOffset));
map.Add(SqlDbType.Decimal, typeof(System.Decimal));
map.Add(SqlDbType.Float, typeof(System.Double));
map.Add(SqlDbType.Image, typeof(System.Byte[]));
map.Add(SqlDbType.Int, typeof(System.Int32));
map.Add(SqlDbType.Money, typeof(System.Decimal));
map.Add(SqlDbType.NChar, typeof(System.String));
map.Add(SqlDbType.NText, typeof(System.String));
map.Add(SqlDbType.NVarChar, typeof(System.String));
map.Add(SqlDbType.Real, typeof(System.Double));//float类型,double
map.Add(SqlDbType.SmallDateTime, typeof(System.DateTime));
map.Add(SqlDbType.SmallInt, typeof(System.Int16));
map.Add(SqlDbType.SmallMoney, typeof(System.Decimal));
map.Add(SqlDbType.Structured, typeof(System.Object));
map.Add(SqlDbType.Text, typeof(System.String));
map.Add(SqlDbType.Time, typeof(System.DateTime));
map.Add(SqlDbType.Timestamp, typeof(System.DateTime));//byte[], 可以定义为datetime
map.Add(SqlDbType.TinyInt, typeof(System.Int16));
map.Add(SqlDbType.Udt, typeof(System.Object));//UDT是用户自定义数据类型
map.Add(SqlDbType.UniqueIdentifier, typeof(System.Guid));
map.Add(SqlDbType.VarBinary, typeof(System.Byte[]));
map.Add(SqlDbType.VarChar, typeof(System.String));
map.Add(SqlDbType.Variant, typeof(System.Object));//sql_variant
map.Add(SqlDbType.Xml, typeof(System.String));
return map;
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
扫一扫加微信
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网