返回
EF报错System.Exception: You need to call SQLitePCL.raw.SetProvider().
2023-02-15 4693 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包就可以了。

网友点评
提交
相关阅读
EF Core 6(EF6)没有SqlQuery方法
Entity Framework(EF) Core 10新特性全面解析:提升开发效率的关键更新
Entity Framework Core 连接PostgreSQL
EF Core在非MVC项目中需要手动释放吗?
ADO.NET和Entity Framework Core怎么选?
EF Core 8 (EF8) Contains报错:Microsoft.Data.SqlClient.SqlException (0x80131904): 关键字 'WITH' 附近有语法错误。
ASP.NET 使用Entity Framework (EF) 创建迁移修改SQLite数据库表结构
EntityFramework(EF) 控制并发和事务防止超卖
相关帖子
Blazor 路由参数报错 No writer was cached for the property 'MyId' on type 'BlazorApp2.Pages.Index'.
PMC报错Scaffold-DbContext : 无法将“Scaffold-DbContext”项识别为 cmdlet、函数、脚本
国外购买域名需要实名认证吗?
Switch 2具有支持数字/卡带游戏的向下兼容功能
比特币突破了50000美金/枚后会暴跌吗?
BAT注意力币即将开启欧易Web3流动性挖矿激励活动
魔兽怀旧服plus德鲁伊-熊坦天赋符文
Switch游戏 皮克敏4 Pikmin 4中文版nsp网盘下载