You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core+EF Core+SQLite初始迁移失败问题求助

解决ASP.NET Core Code First SQLite初始迁移失败问题

嘿,我一眼就瞅出问题根源了——你的DataContext构造函数参数类型写错啦!

你当前构造函数里用的是DbContextOptions<DbContext>,但EF Core需要的是对应你自定义DbContext的泛型参数,也就是DbContextOptions<DataContext>。这是因为DI容器要精准匹配你注册的服务类型:你在Startup里注册的是AddDbContext<DataContext>,但构造函数却要求基类DbContext的选项,容器找不到对应的服务,自然就抛出了无法解析的错误。

修正后的DataContext代码:

public class DataContext : DbContext {
    // 把泛型参数从DbContext改成DataContext
    public DataContext(DbContextOptions<DataContext> options) : base(options) {}
    public DbSet<Value> Values { get; set; }
}

补充说明

当你执行dotnet ef migrations add InitialCreate时,EF的设计时工具会尝试实例化你的DataContext来生成迁移文件。它依赖DI容器注入配置好的选项,但参数类型不匹配导致容器无法提供正确服务,才触发了报错。

修正之后,重新执行迁移命令应该就能顺利生成初始迁移了。如果还有问题,可以检查下EF Core相关NuGet包的版本是否一致,以及appsettings.json的连接字符串是否能被项目正确读取。

内容的提问来源于stack exchange,提问作者canvee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 07:17:31