C# 如何在asp.net mvc identity项目中创建数据库上下文对象?

C# 如何在asp.net mvc identity项目中创建数据库上下文对象?,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我使用此命令创建了一个新的ASP.NET项目 dotnet new mvc --auth Individual 它只生成注册和登录操作。我还需要为产品模型创建、读取、更新和删除操作。但是我无法创建DatabaseContext实例。我尝试创建如下对象: private ApplicationDbContext ctx = new ApplicationDbContext(); var options = new DbContextOptionsBuilder<ApplicationDb

我使用此命令创建了一个新的ASP.NET项目

dotnet new mvc --auth Individual
它只生成注册和登录操作。我还需要为产品模型创建、读取、更新和删除操作。但是我无法创建DatabaseContext实例。我尝试创建如下对象:

private ApplicationDbContext ctx = new ApplicationDbContext();
var options = new DbContextOptionsBuilder<ApplicationDbContext>();
options.UseSqlServer(Configuration.GetConnectionStringSecureValue("DefaultConnection"));
using YourProjectName.Models; //initialize your .cs file with this
...
var options = new DbContextOptionsBuilder<ApplicationDbContext>();
options.UseSqlServer(Configuration.GetConnectionStringSecureValue("DefaultConnection"));
ApplicationDbContext context = new ApplicationDbContext(options); //somewhere else in the file
上面写着一个错误:

没有给出与所需的形式化参数相对应的参数 参数的“选项” 'ApplicationDbContext.ApplicationDbContext(DbContextOptions)' [项目名称]

这是ApplicationDbContext.cs文件:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
            : base(options)
        {
        }

        protected override void OnModelCreating(ModelBuilder builder)
        {
            base.OnModelCreating(builder);
            // Customize the ASP.NET Identity model and override the defaults if needed.
            // For example, you can rename the ASP.NET Identity table names and more.
            // Add your customizations after calling base.OnModelCreating(builder);
        }
    }
public类ApplicationDbContext:IdentityDbContext
{
公共应用程序DBContext(DbContextOptions选项)
:基本(选项)
{
}
模型创建时受保护的覆盖无效(ModelBuilder)
{
基于模型创建(生成器);
//自定义ASP.NET标识模型,并根据需要覆盖默认值。
//例如,可以重命名ASP.NET标识表名称等。
//在调用base.OnModelCreating(builder)后添加自定义项;
}
}

那么如何创建ApplicationDbContext类的对象呢?

问题是如何创建
ApplicationDbContext
对象。可以在
MVC
项目的
IdentityModels.cs
文件中找到
ApplicationDbContext

Models
文件夹中类的自动名称空间是
YourProjectName.Models

关于
选项的内容,您可以在这里阅读:

如果您的连接字符串名为
DefaultConnection
,则可能是这样的:

private ApplicationDbContext ctx = new ApplicationDbContext();
var options = new DbContextOptionsBuilder<ApplicationDbContext>();
options.UseSqlServer(Configuration.GetConnectionStringSecureValue("DefaultConnection"));
using YourProjectName.Models; //initialize your .cs file with this
...
var options = new DbContextOptionsBuilder<ApplicationDbContext>();
options.UseSqlServer(Configuration.GetConnectionStringSecureValue("DefaultConnection"));
ApplicationDbContext context = new ApplicationDbContext(options); //somewhere else in the file

然后像这样使用:
context.Users…
context.YourOtherTableNames.EFMethod…
问题是关于创建
ApplicationDbContext
对象。可以在
MVC
项目的
IdentityModels.cs
文件中找到
ApplicationDbContext

Models
文件夹中类的自动名称空间是
YourProjectName.Models

关于
选项的内容,您可以在这里阅读:

如果您的连接字符串名为
DefaultConnection
,则可能是这样的:

private ApplicationDbContext ctx = new ApplicationDbContext();
var options = new DbContextOptionsBuilder<ApplicationDbContext>();
options.UseSqlServer(Configuration.GetConnectionStringSecureValue("DefaultConnection"));
using YourProjectName.Models; //initialize your .cs file with this
...
var options = new DbContextOptionsBuilder<ApplicationDbContext>();
options.UseSqlServer(Configuration.GetConnectionStringSecureValue("DefaultConnection"));
ApplicationDbContext context = new ApplicationDbContext(options); //somewhere else in the file

然后像这样使用:
context.Users…
context.YourOtherTableNames.EFMethod…

应该为
IdentityModels
中的
MVC
项目自动创建
ApplicationDbContext
。这里有ApplicationDbContext。但是如何创建此类的对象呢?应该在
IdentityModels
Yes中为
MVC
项目自动创建
ApplicationDbContext
。这里有ApplicationDbContext。但是如何创建这个类的对象呢?