如何在现有的AspNetUsers表中添加列

时间:2019-08-17 12:27:51

标签: c# entity-framework blazor

我需要在dbo.AspNetUsers中添加几列。这是使用“个人帐户”选项创建的。我已经尝试了在互联网上搜索过的内容,但无法正常工作。请查看我的代码:

在生成的ApplicationDbContext中,我将其修改为:

public class ApplicationDbContext : IdentityDbContext
{
    [Required]
    [MaxLength(50)]
    public string FirstName { get; set; }
    [MaxLength(50)]
    public string MiddleName { get; set; }
    [Required]
    [MaxLength(50)]
    public string LastName { get; set; }

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

然后我运行了add-migration,但是我只得到了一个空的Migration文件。

using Microsoft.EntityFrameworkCore.Migrations;

namespace BlazorApp4.Data.Migrations
{
    public partial class ModifiedUserDatabase : Migration
    {
        protected override void Up(MigrationBuilder migrationBuilder)
        {

        }

        protected override void Down(MigrationBuilder migrationBuilder)
        {

        }
    }
}

但是我仍然尝试更新数据库,但是没有添加任何我需要的表。

我认为我需要将其放在继承IdentityUser的ApplicationUser中。但是我在blazor应用程序的任何地方都看不到它。

enter image description here

您能帮我吗?谢谢。

1 个答案:

答案 0 :(得分:1)

步骤:

  • 将属性添加到ApplicationUser类。
  • 确保该类继承自IdentityUser
  • 在您的.cs和.razor文件中找到IdentityUser的所有其他情况,并替换为ApplicationUser

  • 使用新类作为Type参数继承上下文:
     public class ApplicationDbContext : IdentityDbContext<ApplicationUser>

  • 当您覆盖OnModelCreating时,请不要忘记调用
    base.OnModelCreating(builder);

  • 现在您可以添加迁移