下面列出了将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 |