.NET 6 Razor项目AddDbContext配置ArgumentException错误求助
解决ArgumentException:AddDbContext配置未被使用的问题
错误提示已明确指出核心问题:你通过AddDbContext传入了数据库配置,但CarsDbContext仅定义了无参构造函数,导致配置无法被上下文接收和生效。
解决方案:修改CarsDbContext类,添加带参数的构造函数
打开CarsData项目中的CarsDbContext.cs文件,调整为以下结构:
using Microsoft.EntityFrameworkCore; namespace CarsData { public class CarsDbContext : DbContext { // 必须添加此构造函数,将配置传递给基类DbContext public CarsDbContext(DbContextOptions<CarsDbContext> options) : base(options) { } // 在此添加你的实体集(DbSet)定义 // 示例:public DbSet<Car> Cars { get; set; } } }
说明
- 该构造函数接收
DbContextOptions<CarsDbContext>参数,并传递给DbContext基类构造函数,让依赖注入系统能把你在program.cs中配置的SQL Server连接字符串等选项注入到上下文。 - 若需保留无参构造函数(例如用于EF Core迁移命令),可同时添加,但运行时依赖注入会优先使用带参数的构造函数,不会影响配置生效。
你的program.cs代码无需修改,保持当前的AddDbContext配置即可。
内容的提问来源于stack exchange,提问作者JustWantsToCode
相关产品推荐
相关产品推荐

