我收到此错误:
InvalidOperationException:没有为此DbContext配置数据库提供程序。可以通过重写DbContext.OnConfiguring方法或在应用程序服务提供程序上使用AddDbContext来配置提供程序。如果使用AddDbContext,则还请确保您的DbContext类型在其构造函数中接受DbContextOptions对象,并将其传递给DbContext的基本构造函数。
我尝试了一切,但是又一次。我想定义启动连接字符串,但不能。
我的ApplicationDbContext
是:
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(){}
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options): base(options){}
public DbSet<Course> Courses { get; set; }
public DbSet<CourseType> CourseTypes { get; set; }
public DbSet<CourseState> CourseStates { get; set; }
public DbSet<Topic> Topics { get; set; }
public DbSet<Heding> Hedings { get; set; }
}
我的启动是:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DbLearning"))));
}
我的appSetting.json
是:
"ConnectionStrings": {
"DbLearning": "Server=(localdb)\\mssqllocaldb;Database=DbLearning;Trusted_Connection=True;"
}
问题是在启动中,但在onConfiguring
中没有问题
答案 0 :(得分:0)
您可以通过localdb使用最知名的方式
appsetting.json中的代码
"ConnectionStrings": {
"DbLearning": "Server=(localdb)\\mssqllocaldb;Database=DbLearning;Trusted_Connection=True;"
}
Startup.cs中的代码
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DbLearning")));
}
答案 1 :(得分:0)
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DbLearning")));
}
答案 2 :(得分:-1)
"ConnectionStrings": {
"DbLearning": "Server=(localdb)\\mssqllocaldb;Database=DbLearning;Trusted_Connection=True;"
}