下面列出了将CLR类型读取和写入KingbaseES类型时的内置映射。
下面显示了读取值时使用的映射
使用和类似方式:KdbnpgCommand.ExecuteScalar(),将返回默认类型KdbnpgDataReader.GetValue();
可以通过调用读取为其它类型:KdbnpgDataReader.GetFieldValue();
提供程序特定的类型并返回:KdbnpgDataReader.GetProviderSpecificvalValue()。
KingbaseES 数据类型 | 默认.NET类型 | 提供者特定的类型 | 其它.NET类型 |
---|---|---|---|
布尔 | 布尔 | ||
小 | 整型 | 字节,sbyte,int,long,float,double,decimal | |
比金特 | 长 | 字节,短,长,浮点,双精度,十进制 | |
整数 | 整型 | 字节,短,长,浮点,双精度,十进制 | |
真正 | 浮 | 双 | |
双 | 精度 | 双 | |
数值的 | 十进制 | 字节,短,整型,长整型,浮点型,双字节 | |
钱 | 十进制 | ||
发短信 | 字符串 | 字符[] | |
字符变化 | 字符串 | 字符[] | |
字符 | 字符串 | 字符[] | |
引用 | 字符串 | 字符[] | |
json | 字符串 | 字符[] | |
jsonb | 字符串 | 字符[] | |
xml | 字符串 | 字符[] | |
Oid | uint | ||
断续器 | uint | ||
西德 | uint | ||
字节 | 字节[] | ||
位(1) | 布尔 | 比特阿拉伊 | |
位(n) | 比特阿拉伊 | ||
位变化 | 比特阿拉伊 | ||
uuid | 导轨 | ||
日期 | 数据时间 | KdbnpgData | |
间隔 | 时间跨度 | KdbnpgDataSpan | |
不带时区的时间戳 | 数据时间(未指定) | KdbnpgDataTime | |
带时区的时间戳 | 数据时间(本地) | KdbnpgDataTime | 日期时间偏移 |
time without time zone | TimeSpan | ||
time with time zone | DataTimeOffset | DataTimeOffset,DataTime,TimeSpan | |
name | string | char[] | |
record | object[] |
有以下三个规则确定为参数发送KingbaseES类型:
如果参数设置了KdbnpgDbType,则使用它;
如果参数设置了DataType,则使用它;
如果参数设置了DbType,则使用它;
如果未设置上述任何一项,则将从CLR值类型推断后端类型。
KdbnpgDbType | DbType | KingbaseES类型 | 可接受的.NET类型 |
---|---|---|---|
Boolean | Boolean | boolean | bool |
smallint | Int16 | smallint | short |
Integer | Int32 | integer | int |
Bigint | Int64 | bigint | long |
Real | Single | real | float |
Double | Double | double precision | double |
Numeric | Decimal,VarNumeric | numeric | decimal |
Money | Currency | money | decimal |
Text | String,StringFixedLength, AnsiString, AnsiStringFixedLength | text | string,char[],char |
Varchar | character varying | text | string,char[],char |
Char | character varying | string,char[],char | |
Citext | citext | string,char[],char | |
Json | json | string,char[],char | |
Jsonb | jsonb | string,char[],char | |
Xml | xml | string,char[],char | |
Bit | bit | BitArray,bool,string | |
Varbit | bit varying | BitArray,bool,string | |
Hstore | hstore | IDictionary | |
Uuid | uuid | Guid | |
Date | Date | date | DateTime,KdbnpgDate |
Interval | interval | TimeSpan,KdbnpgTimeSpan | |
Timestamp | DateTime,DateTime2 | timestamp without time zone | DateTime,KdbnpgDataTime |
TimestampTz | DateTimeOffset | timestamp with time zone | DateTimeOffset,DateTime,TimeSpan |
Time | Time | time without time zone | TimeSpan |
时间 | 带时区的时间 | 日期时间偏移,日期时间,时间跨度 | |
拜蒂亚 | 二元的 | 拜蒂亚 | byte[],ArraySegment |
Oid | Oid | uint | |
希德 | Oid | uint | |
熙德 | 西德 | uint | |
外向量 | 体向量 | uint[] | |
名字 | 名字 | 字符串,字符[],字符 | |
内部字符 | (内部)字符 | 字节 | |
复合 | 复合类型 | T | |
范围|(其他 KdbnpgDbType) | 范围类型 | KdbnpgRange | |
枚举 | 枚举类型 | TEnum | |
阵列|(其他 KdbnpgDbType) | 数组类型 | 数组,IList,IList |