【发布时间】:2018-12-15 13:35:51
【问题描述】:
我是一名新的 ASP Core 开发人员。 我想创建一个登录方法并更新我的数据库,但我得到了
没有为此 DbContext 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"));
}
}
那么问题出在哪里?
【问题讨论】:
-
您打算使用哪个数据库?这是您需要添加到您的 startup.cs 以使用 PostGres 的示例方法,以及安装 Npgsql.EntityFrameworkCore.PostgreSQL Nuget 包:- services.AddEntityFrameworkNpgsql().AddDbContext
(options => options.UseNpgsql(Configuration. GetConnectionString("PostgresConnection")));
标签: asp.net-core-2.0