Using Asp.Net Identity DataBase first approach

asp.net-mvc c# entity-framework identity

Question

I need to integrate Asp.Net latest MVC version with an existing database which has an additional column String Address to table dbo.AspNetUsers

I need to create an instance ApplicationUser which has property Address.

Any idea how to do it?

1
58
4/18/2015 1:19:46 PM

Accepted Answer

A possible solution which works for me, basically I am able to integrate Asp.Net Identity User Profiles with an existing Database.

Getting the Asp.Identity Tables:

  • Create an MVC Project with Authentication Individual User Account
  • Open the DB listed under the DefaultConnection in Web.config. It will be called (aspnet-[timestamp] or something like that.)
  • Script the database tables using SQL Server Management Studio (attach database for mdc).

Alternatively use something like http://identity.codeplex.com/

Integrating with your existing db:

  • Insert the scripted tables into existing database in SQL Server Management Studio.
  • Customize and add relationships to ApplicationUser (if necessary).
  • Create new Web Project > MVC > DB First Project > Import DB with EF ... .
  • In IdentityModels.cs change the ApplicationDbContext :base("DefaltConnection") to use your project's DbContext.

Now you have the Asp.Identity Tables in your db with ER model in your application.

Asp.Identity Profile Adding new properties:

  • Enable Entity Framework Code First Database Migrations, just in VS go under Tools ‘Package Manager Console’,
  • Execute the command “Enable-Migrations”; Once we enabled the database migrations, we can go ahead and add new properties for our UserProfile

  • To Add new properties modify IdentityModels.cs file, example:


public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmailID { get; set; }
}

Add New Migration

  • Once we added the properties, bring the Package Manager Console and execute the following command.

    Add-Migration “YouMigrationName”

This command will generate a database script file, now execute following command to run this script file against the database.

Update-Database

Now, all the new properties will turn into table fields in the same database table.

I hope it can help others, if you have a better idea please let me know.

56
3/14/2016 7:39:31 AM

Popular Answer

I have been successful in integrating an existing database via Database First with Identity Framework 2.0. I have written a blog post on it here which uses ASP.NET MVC 5, Identity Framework 2.0, and the SPA template from Visual Studio 2013 Update 2 RTM.

I hope this helps anyone in their journey because it contains a few points not listed in one place which I had to figure out on my own.



Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow