C# AddDbContext在ASP.NET Razor 2.2的ConfigureServices中不工作
我将一个sql server数据库反转到它们各自的类和上下文中,所有这些看起来都很好 在min context类中,有一行代码指向连接字符串,如果保留该字符串,则可以正常工作,但连接字符串完全嵌入到上下文文件中 我尝试在上下文之外对其进行注释,并通过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
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) {
//...
}