介绍
SQLite 是一款轻量级、嵌入式、零配置的关系型数据库管理系统,其设计哲学是“极简即强大”,将整个数据库存储在单个磁盘文件中,无需独立的服务器进程。它自2000年诞生以来,已成为全球部署量超过万亿次的数据库引擎,广泛应用于移动应用、桌面软件、嵌入式设备和快速开发场景
数据库创建
这里我们使用 SQL 语法来创建。
数据类型
SQLite 与 MySQL、SQL Server 不同,只有 5 种基本存储类型:
| 类型 | 说明 |
| NULL | 空值 |
| INTEGER | 整数 |
| REAL | 浮点数 |
| TEXT | 文本字符串 |
| BLOB | 二进制数据 |
C# 与 Sqlite 的数据类型对照表
| Sqlite 类型 | C# 类型 | 说明 |
| INTEGER | long int bool | 默认映射(64位) 常用,需要手动指定 用 0 / 1 存储 |
| REAL | double decimal | 默认映射 金额推荐 |
| TEXT | string DateTime Guid enum | 默认映射 日期时间 UUID 枚举存字符串或数字 |
| BLOB | byte[] | 二进制数据 |
| 场景 | Sqlite 写法 | C# 类型 | 备注 |
| 主键 | integer primary key autoincrement | int | 自增 ID |
| 布尔 | integer not null default 0 | bool | 0 = false,1 = true |
| 字符串 | text not null | string | – |
| 金额 | real not null default 0 | decimal | 有精度丢失风险 |
| 日期 | text not null default(datetime(‘now’)) | DateTime | 存 ISO 8601 格式 |
| 枚举 | integer not null default 0 text not null | enum | 存数字 存名称 |
| JSON | text | string / 对象 | 需要序列化 |
| 图片 / 文件 | blob | byte[] | 大文件建议存路径 |
| UUID | text not null | Guid | – |
| 大文本 | text | string | 无长度限制 |
指定数据库中的主键从某个位数开始自增:
-- 直接更新 sqlite_sequence 系统表
INSERT OR REPLACE INTO sqlite_sequence (name, seq) VALUES ('表名', 999);
sqlite_sequence 系统表 拆解
SQLite 自动维护的一张内部表,记录所有使用 AUTOINCREMENT 的表的当前最大 ID 值:
name seq
---------- ---
表2 5 ← 当前最大 Id 是 5
表1 120 ← 当前最大 Id 是 120
使用
这里在 .NET Core + EntityFramework 环境下使用。
安装
# 基础 SQLite 驱动
dotnet add package Microsoft.EntityFrameworkCore.Sqlite
# 如果需要 Code First 迁移
dotnet add package Microsoft.EntityFrameworkCore.Design
# 如果不使用 EF Core,想直接用 ADO.NET
dotnet add package Microsoft.Data.Sqlite
在数据库创建完成后,使用命令添加数据库模型。
dotnet ef dbcontext scaffold "Data Source= 数据库文件路径;Foreign Keys=True" Microsoft.EntityFrameworkCore.Sqlite --output-dir 模型所在的位置 --context-dir 模型所在的位置 --context 数据库上下文对象名 --force --no-onconfiguring --project 项目名称
参数说明:
Data Source:Sqlite 连接字符串Microsoft.EntityFrameworkCore.Sqlite:数据库提供程序--output-dir:实体类输出目录--context-dir:DbContext 上下文输出目录--context:指定数据库上下文对象名--force:覆盖已存在的文件--no-onconfiguring:不在 DbContext 中生成 OnConfiguring(适合手动配置连接字符串)--table:只反向工程指定表(可多次指定)--no-pluralize:不自动将表名复数形式转成单数类名
使用
数据库的连接字符串格式
Data Source= 数据库文件路径;Foreign Keys=True
https://wp.itdka.cn/1374.html
版权声明
本文版权信息
本文为原创文章,版权归琉璃 | 资源刺客所有,依据 CC BY-NC-SA 4.0 许可协议进行授权。转载请注明出处及本声明,商业使用请联系作者获得授权。
THE END
![[.NET Core + EntityFrameCore]Sqlite 数据库的使用以及关系映射-资源刺客](https://images.kodo.cdn.itdka.cn/wp-contents/uploads/2026/04/20260421205245738-科技感ENVI安装教程封面-2.png)

![[学习笔记 Day01]C++基础:简单的程序设计,始于梦想的开始!-资源刺客](http://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/09/20250922171813209.webp)
![[学习笔记 Day08]数据分析与应用:数据聚合与分组运算-资源刺客](https://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/09/20250923154612655.png)
![[学习笔记 Day06]Python 数据分析与应用:数据分析库 Pandas 的使用-资源刺客](http://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/09/20250923154612655.png)
![[学习笔记 Day02]Vue基础:前端造梦,继续干!-资源刺客](http://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/09/20250919193418264.jpeg)

![[学习笔记 Day03]Redis 基础:Redis 设计的优化建议与最佳实践-资源刺客](https://images.kodo.cdn.itdka.cn/wp-contents/uploads/2026/05/20260521215425110-科技感ENVI安装教程封面-8.png)
![[学习笔记 Day02]Redis + OpenResty + Lua 实现多级缓存-资源刺客](https://images.kodo.cdn.itdka.cn/wp-contents/uploads/2026/05/20260521202850344-科技感ENVI安装教程封面-7.png)
![[学习笔记 Day 01] Redis 基础:从入门到缓存、主从、分片集群的深入-资源刺客](https://images.kodo.cdn.itdka.cn/wp-contents/uploads/2026/05/20260520211903179-科技感ENVI安装教程封面-6.png)
![[Windows + Redis]Windows 部署安装 Redis 软件附注册 Windows 服务!-资源刺客](https://images.kodo.cdn.itdka.cn/wp-contents/uploads/2026/05/20260518221407144-科技感ENVI安装教程封面-5.png)

![[自动化 + 手残党专属]宝塔安装AllinSSL证书管理教程-资源刺客](http://images.kodo.cdn.itdka.cn/wp-content/uploads/2025/11/20251112122722716.png)




- 最新
- 最热
查看全部