如何在代码第一种方法中添加现有数据库表中的列?

时间:2015-11-03 12:58:04

标签: asp.net-mvc-4 asp.net-web-api2

我的解决方案中有两个项目,一个是简单的mvc项目,另一个是web api。我使用了Entity Framework。我还使用了asp.net身份,它生成了在AspNetUsers表中有许多列的本地数据库。现在我想添加和删除AspNetUsers表中的一些列。 我在我的项目中包含了Migrations文件夹,其中包含configuration.cs和初始的create.cs类

CreateTable(
            "dbo.AspNetUsers",
            c => new
                {
                    Id = c.String(nullable: false, maxLength: 128),
                    Email = c.String(maxLength: 256),
                    EmailConfirmed = c.Boolean(nullable: false),
                    PasswordHash = c.String(),
                    SecurityStamp = c.String(),
                    PhoneNumber = c.String(),
                    PhoneNumberConfirmed = c.Boolean(nullable: false),
                    TwoFactorEnabled = c.Boolean(nullable: false),
                    LockoutEndDateUtc = c.DateTime(),
                    LockoutEnabled = c.Boolean(nullable: false),
                    AccessFailedCount = c.Int(nullable: false),
                    UserName = c.String(nullable: false, maxLength: 256),
                    })
            .PrimaryKey(t => t.Id)
            .Index(t => t.UserName, unique: true, name: "UserNameIndex");

我还尝试使用Package Manager Console更新数据库但没有任何反应。 那么如何在AspNetUsers表中添加另一列? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

无需添加代码来自行创建表。迁移可以为您完成所有事情。

public class ApplicationUser : IdentityUser
{
    ... Your Codes ...

    public string FirstName { get; set; }
    public string LastName { get; set; }
}

并在PackageManager中运行代码:

add-migration somenotehere

它将为您的数据库创建一个迁移。 那么你所要做的就是将更改提交给ddl。

所以在PackageManager中运行此代码:

update-database

希望它有效。