返回
EF报错System.Exception: You need to call SQLitePCL.raw.SetProvider().
2023-02-15 5220 0
使用EntityFrameworkCore.Sqlite时报错了,System.Exception: 'You need to call SQLitePCL.raw.SetProvider(). If you are using a bundle package, this is done by calling SQLitePCL.Batteries.Init().'。
var scopeFactory = app.Services.GetRequiredService<IServiceScopeFactory>();
using (var scope = scopeFactory.CreateScope())
{
var db = scope.ServiceProvider.GetRequiredService<ArticleContext>();
if (db.Database.EnsureCreated())
{
SeedData.Initialize(db);
}
}在执行到db.Database.EnsureCreated()是发生了异常:

检查了Nuget引用,发现项目安装了
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Sqlite.Core
这两个包。看上去不是代码的问题。
找到了解决方法是再安装Microsoft.EntityFrameworkCore.Sqlite包就可以了。

网友点评
提交
相关阅读
SQL Server EF使用Sequence全局自增ID
EntityFramework(EF) 控制并发和事务防止超卖
Entity Framework(EF) Core 10新特性全面解析:提升开发效率的关键更新
.NET C# EntityFrameworkCore(EF)连接PostgreSQL数据库
EF Core 8 (EF8) Contains报错:Microsoft.Data.SqlClient.SqlException (0x80131904): 关键字 'WITH' 附近有语法错误。
ASP.NET 使用Entity Framework (EF) 创建迁移修改SQLite数据库表结构
Entity Framework(EF)DbContext SaveChanges()生命周期
EF Core在非MVC项目中需要手动释放吗?
相关帖子
PMC报错Scaffold-DbContext : 无法将“Scaffold-DbContext”项识别为 cmdlet、函数、脚本
Blazor 路由参数报错 No writer was cached for the property 'MyId' on type 'BlazorApp2.Pages.Index'.
程序员最常用的10大网站
如何通过 Travelpayouts 打造稳定收益:旅行联盟营销全面指南
2024马东锡 荒野 乌有之地 高清1080P迅雷BT百度网盘下载
2025年性价比机场加速器推荐:高速稳定的科学上外网工具
白鲸加速器深度评测:2025 年免费加速器试用体验
DOSBox-X模拟器 DOS模拟器最新版 内附9000多个DOS游戏