没有为此DbContext asp核心配置数据库提供程序

时间:2018-07-07 00:10:23

标签: asp.net-core-2.0 core

我是新的ASP核心开发人员 我想使用登录方法并更新数据库,但是我什至做到了,我尝试了很多事情,但没有任何帮助

  public void ConfigureServices(IServiceCollection services)
    {

        services.AddDbContext<StudentSelectionContext>();

        services.AddMvc();


        services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
            .AddCookie(option => {
                option.LoginPath = "/User/LogIn";
                option.AccessDeniedPath = "/Error/AccessDenied";
                option.Cookie.SecurePolicy = CookieSecurePolicy.Always;
            });
    }

以及我的StudentSelectionContext

 public StudentSelectionContext()
    {
    }

    public StudentSelectionContext(DbContextOptions<StudentSelectionContext> options)
        : base(options)
    {
    }

    public virtual DbSet<Department> Department { get; set; }
    public virtual DbSet<FinalDistribution> FinalDistribution { get; set; }
    public virtual DbSet<InfoTable> InfoTable { get; set; }
    public virtual DbSet<Roles> Roles { get; set; }
    public virtual DbSet<StudnetGpa> StudnetGpa { get; set; }
    public virtual DbSet<StuSelection> StuSelection { get; set; }


    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        if (!optionsBuilder.IsConfigured)
        {
            var builder = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json");
            var configuration = builder.Build();
            optionsBuilder.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));
        }
    }

那是什么问题

1 个答案:

答案 0 :(得分:0)

使用DataBase Provider时需要配置AddDbContext

您可以参考此Database Providers来找到可用的数据库提供程序。

对于开发模式,您可以尝试使用SQL Server Express,也可以尝试以下代码:

            services.AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(
                Configuration.GetConnectionString("DefaultConnection")));

appsettings.json

中配置了ConnectionString
相关问题