C# 如何在asp.net mvc identity项目中创建数据库上下文对象?
我使用此命令创建了一个新的ASP.NET项目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
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。但是如何创建这个类的对象呢?