C# 使用标识将新表添加到ASP.NET核心MVC应用程序中
我有一个关于在ASP.NET核心MVC应用程序中创建新表的问题。我用“个人用户帐户”创建了它,所以我在DB中有标识表 如何在此数据库中创建自己的表?我应该创建一个新的数据库上下文吗 例如:我想为学生和问题(以及他们的答案)创建一个表格C# 使用标识将新表添加到ASP.NET核心MVC应用程序中,c#,database,asp.net-core,asp.net-identity,C#,Database,Asp.net Core,Asp.net Identity,我有一个关于在ASP.NET核心MVC应用程序中创建新表的问题。我用“个人用户帐户”创建了它,所以我在DB中有标识表 如何在此数据库中创建自己的表?我应该创建一个新的数据库上下文吗 例如:我想为学生和问题(以及他们的答案)创建一个表格 创建您的模型: 假设您有以下模型: public class Post{ public int Id {get; set;} public string Name {get; set;} } 在根目录中,创建一个名为Persistence的文件夹(
public class Post{
public int Id {get; set;}
public string Name {get; set;}
}
public class MyDbContext : DbContext {
public DbSet<Post> Posts {get; set;}
public MyDbContext((DbContextOptions<MyDbContext> options)
: base (options)
{
}
}
公共类MyDbContext:DbContext{
公共DbSet Posts{get;set;}
公共MyDbContext((DbContextOptions)
:基本(选项)
{
}
}
Startup.cs
中,将此行添加到ConfigureServices
功能中:
services.AddDbContext(options=>options.UseSqlServer(“connStr”);
dotnet cli创建第一次迁移的时候了
public class Post{
public int Id {get; set;}
public string Name {get; set;}
}
public class MyDbContext : DbContext {
public DbSet<Post> Posts {get; set;}
public MyDbContext((DbContextOptions<MyDbContext> options)
: base (options)
{
}
}
公共类MyDbContext:DbContext{
公共DbSet Posts{get;set;}
公共MyDbContext((DbContextOptions)
:基本(选项)
{
}
}
Startup.cs
中,将此行添加到ConfigureServices
功能中:
services.AddDbContext(options=>options.UseSqlServer(“connStr”);
dotnet cli创建第一次迁移的时候了
更多信息请访问:因为您已经说过您使用了
个人用户帐户
标识模板,您可以在其上添加自定义模型,例如:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, Guid>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
//....
}
public DbSet<Student> Students{ get; set; }
public DbSet<Question> Questions { get; set; }
public DbSet<Answer> Answers { get; set; }
//....
}
public class ApplicationDbContext:IdentityDbContext既然您已经说过您使用了个人用户帐户
标识模板,您可以在其上添加自定义模型,例如:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, Guid>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
//....
}
public DbSet<Student> Students{ get; set; }
public DbSet<Question> Questions { get; set; }
public DbSet<Answer> Answers { get; set; }
//....
}
public class ApplicationDbContext:IdentityDbContext为您自己的表/类使用不同的DbContext。@Nikolaus好的,您能帮我吗?我应该在ApplicationDbContext.cs的哪里添加一个新的上下文?我将非常感谢与此相关的任何链接。@АааСаа您可能需要遵循本教程:至于注释/a回答其他人的问题,您需要定义类的确切问题在哪里,在您的DbContext中使用,…您有什么(代码)?为您自己的表/类使用不同的DbContext。@Nikolaus好的,您能帮我吗?我应该在ApplicationDbContext.cs中的什么位置添加新的上下文?非常感谢与此相关的任何链接。@АццСцц您可能需要遵循本教程:至于其他人的评论/答案,您需要定义的确切问题在哪里类,在DbContext中使用,…您有什么(代码)?所以,我添加了这些类和它们的数据库集。我更新了数据库,一切看起来都很好。我在哪里可以找到创建的表?在SQL Server Obj.Manager中,我只有标识表。你创建/运行了迁移吗?没有,你能提供一些关于这方面的信息吗?哇,m8,谢谢你的关注和时间。你节省了我大量的时间。顺便说一下,我试着和我们联系e“添加迁移”命令中没有“-”,所以它不起作用。@FelixToo我试图从ef6移动到efcore,但对我来说似乎有一个断开连接…是否有任何gd文章/链接指向在哪里设置有组织的fluent builder代码,以及其他什么…ef6代码在这方面首先似乎更好。当我得到上述内容时询问,希望你在这方面花费的时间比我多,所以,也许你们可以展示/告诉我什么是有效的。所以,我添加了这些类和它们的数据库集。我更新了数据库,一切看起来都很好。我可以在哪里找到创建的表?在SQL Server Obj.Manager中,我只有标识表。你们创建/运行了迁移吗?不,你们能提供一些关于这方面的信息吗?哇,m8,谢谢你们的关注和时间。你们已经节省了一个huge我的时间量。P.S.我尝试使用“添加迁移”命令中没有“-”,所以它不起作用。@FelixToo我试图从ef6移动到efcore,但对我来说似乎有一个断开连接…是否有任何gd文章/链接指向在哪里设置有组织的fluent builder代码,以及其他什么…ef6代码在这方面首先似乎更好。当我得到上述内容时询问,希望你在这方面花费的时间比我多,所以也许你能告诉我什么有效。。