JSql 表结构 / 行值与 SQLite 之间的映射:
- JSql 规范类型 <-> SQLite 声明类型;
- <-> ;
- 由 SQLite 的 CREATE TABLE DDL 反解出 (用于读取外部 sqlite 文件);
- 行对象 <-> 定位子有序的值数组,并归一为 JSql 规范类型的 CLR 值。
JSql 表结构 / 行值与 SQLite 之间的映射:
01 Syntax
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| ToSqliteType | 1 | JSql 规范类型映射为 SQLite 列声明类型。 DATE / DATETIME 刻意映射为 TEXT:JSql 行模型里它们本就是 "yyyy-MM-dd[ HH:mm:ss]" 字符串,声明为 TEXT 可保证原样往返而不被 托管引擎的整数亲和性转换破坏。 |
| ToCanonicalType | 1 | SQLite 列声明类型反解为 JSql 规范类型。BLOB 及无法识别的类型统一按 VARCHAR 处理(JSql 没有二进制类型)。 |
| ToSqliteColumns | 1 | 把一张表的 schema 列序映射为 SQLite 列定义(保持 JSql 的列顺序)。 |
| FromSqliteSchema | 1 | 由 SQLite 的 CREATE TABLE 解析结果反解出 JSql 表结构。DDL 无法承载 COMMENT / DEFAULT / 表级 UNIQUE KEY 等元数据,这些字段留空。 |
| ToValues | 1 | 把一行 JSql 行对象按 schema 列序编码成定位子有序的值数组,并归一为 SQLite 引擎可识别的 CLR 类型(Long / Double / String / Boolean / Nothing)。 |
| FromValues | 1 | 把 SQLite 引擎读回的值数组按 schema 列序还原为 JSql 行对象,并归一为 JSql 规范类型的 CLR 值。 |
03 Members
String)JSql 规范类型映射为 SQLite 列声明类型。
DATE / DATETIME 刻意映射为 TEXT:JSql 行模型里它们本就是 "yyyy-MM-dd[ HH:mm:ss]" 字符串,声明为 TEXT 可保证原样往返而不被 托管引擎的整数亲和性转换破坏。
String)SQLite 列声明类型反解为 JSql 规范类型。BLOB 及无法识别的类型统一按 VARCHAR 处理(JSql 没有二进制类型)。
TableSchema)把一张表的 schema 列序映射为 SQLite 列定义(保持 JSql 的列顺序)。
Schema, String)由 SQLite 的 CREATE TABLE 解析结果反解出 JSql 表结构。DDL 无法承载 COMMENT / DEFAULT / 表级 UNIQUE KEY 等元数据,这些字段留空。
Dictionary(Of String, Object), TableSchema)把一行 JSql 行对象按 schema 列序编码成定位子有序的值数组,并归一为 SQLite 引擎可识别的 CLR 类型(Long / Double / String / Boolean / Nothing)。
Object(), TableSchema)把 SQLite 引擎读回的值数组按 schema 列序还原为 JSql 行对象,并归一为 JSql 规范类型的 CLR 值。