Blazor Server 项目切换 SQLite 数据库(个人账户身份验证)
Blazor Server 项目切换 SQLite 数据库(个人账户身份验证)
本指南适用于创建了 Blazor Server 项目并选择个人账户身份验证后,将默认的 SQL Server 数据库切换为 SQLite。
操作步骤
1. 新建项目
创建 Blazor Server 项目,身份验证类型选择个人账户。
2. 更换 NuGet 包
移除 SQL Server 包,安装 SQLite 包:
dotnet remove package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Sqlite
3. 修改数据库连接字符串
编辑 appsettings.json,将 DefaultConnection 修改为:
"ConnectionStrings": {
"DefaultConnection": "Data Source=app.db"
}
4. 修改 Program.cs
找到 AddDbContext 配置,将 UseSqlServer 改为 UseSqlite:
builder.Services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlite(builder.Configuration.GetConnectionString("DefaultConnection")));
5. 删除旧迁移文件
删除项目根目录下的 Migrations 文件夹。
6. 安装 EF Core 工具(如未安装)
dotnet tool install --global dotnet-ef
若已安装,可跳过此步骤。
7. 创建迁移文件
dotnet ef migrations add InitialCreate
8. 更新数据库
dotnet ef database update
验证结果
运行项目,尝试注册一个新账户。如果能成功注册并登录,说明数据库已成功切换为 SQLite,项目目录下会生成 app.db 文件。
常见问题
| 问题 | 解决方案 |
|---|---|
dotnet ef 命令不存在 |
执行第 6 步安装全局工具 |
提示 Cannot find DbContext |
确认当前目录为项目文件(.csproj)所在目录 |
编译错误 SqlServerModelBuilderExtensions |
确保已删除 Migrations 文件夹 |
| 数据库更新失败 | 删除 Migrations 文件夹和 app.db 文件后,重新执行步骤 7-8 |