C# AddDbContext在ASP.NET Razor 2.2的ConfigureServices中不工作

C# AddDbContext在ASP.NET Razor 2.2的ConfigureServices中不工作,c#,asp.net-mvc,entity-framework,razor,C#,Asp.net Mvc,Entity Framework,Razor,我将一个sql server数据库反转到它们各自的类和上下文中,所有这些看起来都很好 在min context类中,有一行代码指向连接字符串,如果保留该字符串,则可以正常工作,但连接字符串完全嵌入到上下文文件中 我尝试在上下文之外对其进行注释,并通过ConfigureServices部分添加(这样我就可以使用appsettings.json中的conn字符串) 这是startup.cs中的内容,但不起作用:- public void ConfigureServices(IServiceColle

我将一个sql server数据库反转到它们各自的类和上下文中,所有这些看起来都很好

在min context类中,有一行代码指向连接字符串,如果保留该字符串,则可以正常工作,但连接字符串完全嵌入到上下文文件中

我尝试在上下文之外对其进行注释,并通过
ConfigureServices
部分添加(这样我就可以使用appsettings.json中的
conn
字符串)

这是startup.cs中的内容,但不起作用:-

public void ConfigureServices(IServiceCollection services)
{
    services.Configure<CookiePolicyOptions>(options =>
    {
        options.CheckConsentNeeded = context => true;
        options.MinimumSameSitePolicy = SameSiteMode.None;
    });
   services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

    //My DB conn
    services.AddDbContext<myDatabaseContext>(options => options.UseSqlServer(Configuration.GetConnectionString("dbconn")));

}
public void配置服务(IServiceCollection服务)
{
配置(选项=>
{
options.checkApprovered=context=>true;
options.MinimumSameSitePolicy=SameSiteMode.None;
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
//我的数据库连接
services.AddDbContext(options=>options.UseSqlServer(Configuration.GetConnectionString(“dbconn”));
}

我需要能够提供appsettings.json中的连接字符串,而不是将其硬编码到上下文类文件中。

您的上下文中很可能缺少构造函数

public myDatabaseContext(DbContextOptions<myDatabaseContext> options) : base(options) {
    //...
}
公共myDatabaseContext(DbContextOptions选项):基本(选项){ //... } 正如错误消息中建议的那样

如果使用了
AddDbContext
,则 还要确保DbContext类型接受
DbContextOptions
对象,并将其传递给
DbContext
的基本构造函数


您很可能缺少上下文中的构造函数

public myDatabaseContext(DbContextOptions<myDatabaseContext> options) : base(options) {
    //...
}
公共myDatabaseContext(DbContextOptions选项):基本(选项){ //... } 正如错误消息中建议的那样

如果使用了
AddDbContext
,则 还要确保DbContext类型接受
DbContextOptions
对象,并将其传递给
DbContext
的基本构造函数


在建立连接之前,如何从数据库中检索选项?您需要这些选项来建立连接。选项必须在c#项目中,而不是数据库中。如果使用AddDbContext,则还要确保DbContext类型在其构造函数中接受
DbContextOptions
对象,并将其传递给DbContext的基本构造函数。在建立连接之前,如何从数据库中检索选项?您需要这些选项来建立连接。选项必须位于c#项目中,而不是数据库中。如果使用AddDbContext,则还要确保DbContext类型在其构造函数中接受
DbContextOptions
对象,并将其传递给DbContext的基本构造函数。”
public myDatabaseContext(DbContextOptions<myDatabaseContext> options) : base(options) {
    //...
}