Blazor Server 项目切换 SQLite 数据库(个人账户身份验证)

2026-05-14 23:27 211 阅读

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