我在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?但在这种情况下我需要更改属性名称。我想更改属性名称以及数据库列名称。
答案 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");
}