本文演示如何在 .NET Core 的 EntityFrameworkCore 中使用 Sqlite 数据库。
环境
本文使用的软件版本如下:
.NET Core SDK: 3.1.0
SQLite EntityFramworkCore: 3.1.5
安装 SQLite 支持
在项目目录中,执行:
1 | dotnet add package Microsoft.EntityFrameworkCore.Sqlite |
声明使用 SQLite
在项目中 DbContext 的子类中增加 OnConfiguring 方法, 指定需要链接 SQLite 服务器所需要的参数。
1 | protected override void OnConfiguring(DbContextOptionsBuilder options) |
因为在 SQLite 是一个本地库,所以我们只需要简单的在连接串中指名数据库的文件名即可。
使用 Dotnet 命令行工具生成数据库
如果已经在项目中定义好了实体(Model)对象,就可以使用 Dotnet 命令行工具生成数据库。
例如下面的代码,在 Context 类中定义 CropToken 实体(Model)
1 | public class WxContext : DbContext |
要生成数据库,可执行以下动作:
- 安装 .net ef 工具
1 | dotnet tool install --global dotnet-ef |
- 在项目中应用 EntityFrameworkCore.Design
1 | dotnet add package Microsoft.EntityFrameworkCore.Design |
- 初始化数据库模型代码
1 | dotnet ef migrations add InitialCreate |
运行成功后,可以看到在项目目录中加入了一个名为: Migrations 的目录, 里面保存构建数据库结构需要的代码。
- 创建/更新数据库
1 | dotnet ef database update |
注意: 在 Mac OS 中不需要执行第4步
使用工具查看数据库
可以在 SqliteBrowser官网 下载 SQLite 客户端,查看建好的数据库。