Add column in table with ASP.NET identity
Suppose you want to add a new column named "FirstName":
Step 1: Models/IdentityModels.cs
Add the following code to the "ApplicationUser" class:
public string FirstName { get; set; }
Step 2: Models/AccountViewModels.cs
Add the following code to the "RegisterViewModel" class:
public string FirstName { get; set; }
Step 3: Views/Register.cshtml
Add FirstName input textbox to the view:
<div class="form-group">
@Html.LabelFor(m => m.FirstName, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(m => m.FirstName, new { @class = "form-control" })
</div>
</div>
Step 4 :
Go to Tools > NuGet Manager > Package Manager Console
Step A : Type “Enable-Migrations” and press enter
Step B : Type “ Add-Migration "FirstName" ” and press enter
Step C : Type “Update-Database” and press enter
i.e
PM> Enable-Migrations
PM> Add-Migration "FirstName"
PM> Update-Database
Step 5: Controllers/AccountController.cs
Go to Register Action and add "FirstName = model.FirstName" to the ApplicationUser
i.e
var user = new ApplicationUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName}
I have found it! @James suggested me an article that works.
Steps:
Type in the console manager this code:
Enable-Migrations
Source: blogs.msdn.com
In the class
ApplicationUser
add the property you want.public DateTime? Birthdate { get; set; }
in the console manager type this code:
Add-Migration "Birthdate"
After it update the database whit this code:
Update-Database
Result: a new column is added to the database whit name "Birthdate" and type datetime
that can be null.