将PhoneNumber重命名为MobileNumber并将PhoneNumber用作附加列?

时间:2015-08-31 10:56:21

标签: c# asp.net asp.net-identity

我在EF中使用ASP.NET Identity 2。在ASP.NET身份我有PhoneNumber属性,在我的情况下(业务明智)是移动号码。但我也有电话号码,我用作办公室电话。现在我希望我的所有代码都使用MobileNumber(用于移动设备)和PhoneNumber(用于办公室)。我可以做这样的事情,How can I change the table names when using Visual Studio 2013 ASP.NET Identity?但在这种情况下我需要更改属性名称。我想更改属性名称以及数据库列名称。

2 个答案:

答案 0 :(得分:2)

只需在您的课程上重命名属性即可。创建EF迁移。很可能它会删除您尝试重命名的现有列并添加新列。将该迁移代码替换为RenameColumn("dbo.MyTableName", "OldColumnName", "NewColumnName");

答案 1 :(得分:2)

您可以从IdentityUser类继承您的模型并向其添加新属性

 public class User : IdentityUser
{
    public string MobileNumber { get; set; }

}

并且在数据库中重命名列时使用此代码

   protected override void OnModelCreating(DbModelBuilder builder)
{
    builder.Entity<User>()
         .Property(u => u.PhoneNumber)
         .HasColumnName("NewName");
}