Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add column in table with ASP.NET identity

I have made a project whit ASP.NET MVC using identity framework. It has created a new table AspNetUsers, but I want to add columns into that table like birth day, profile picture etc... How can I do that?

Can I run the query below in my SQL Server Management Studio?

ALTER TABLE AspNetUsers ADD ProfilePicture NVARCHAR(100);
ALTER TABLE AspNetUsers ADD BirthDay DATE;

Or is it more complex? I can not work with identity framework, so I must do it with ADO.NET and the .NET framework 4.

like image 584
H. Pauwelyn Avatar asked Nov 04 '15 10:11

H. Pauwelyn


2 Answers

I have found it! @James suggested me an article that works.

Steps:

  1. Type in the console manager this code:

    Enable-Migrations
    

    Source: blogs.msdn.com

  2. In the class ApplicationUser add the property you want.

    public DateTime? Birthdate { get; set; }
    
  3. in the console manager type this code:

    Add-Migration "Birthdate"
    
  4. 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.

like image 135
H. Pauwelyn Avatar answered Nov 10 '22 04:11

H. Pauwelyn


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}
like image 12
Adrita Sharma Avatar answered Nov 10 '22 02:11

Adrita Sharma