Using Asp.Net Identity DataBase first approach

后端 未结 4 789
广开言路
广开言路 2020-11-27 11:09

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

4条回答
  •  粉色の甜心
    2020-11-27 11:21

    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.

提交回复
热议问题