这是因为AddDbContext使用的是DbContextOptions的无参构造函数,而不是DbContext的构造函数。解决方法是在DbContext子类的构造函数中显示调用基类构造函数,并传递DbContextOptions参数。例如:
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions options) : base(options)
{
}
//其他代码省略
}
然后在Startup.cs中使用AddDbContext方法添加DbContext:
services.AddDbContext(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));