9

I have an asp.net mvc 5 application with individual user account security extended with user roles and centralized user administration (users can't create accounts, only application administrator, i.e. me, create accounts and assign roles to them).

My user class looks something like this:

public class ApplicationUser : IdentityUser
{

// User name, full name, e-mail etc....

}

and it's stored in "AspNetUsers" table provided by identity...

Now i need to expand this by adding CompanyID property to a ApplicationUser class and new table with company informations (already existing in database)...

Can someone point me where to find informations how to do this?

1
  • Are db migrations enabled on your context with application users? Commented Mar 18, 2014 at 14:32

1 Answer 1

12

You just need to add mapping to company table like this:

public class ApplicationUser : IdentityUser
{

// User name, full name, e-mail etc....
    public virtual ICollection<Company> Companies { get; set; }
}

and in company entity:

public class Company
{

    //other properties
    public virtual ApplicationUser  User { get; set; }
}

Then add new migration by Add-Migration command in your Package Manager Console. After this moment you will get migration script in your Migrations folder.

And then just call Update-Database on the same console for applying your migration to database.

Sign up to request clarification or add additional context in comments.

2 Comments

the mvc5 template is very nice , and this extends is very easy and clear . The template still needs better structure.
I've done similar things. What confuse me is how to query for the client table. The find methods only return an an empty child table object and apparently the Identity Context cant be queried directly... Am I missing something? Is there some way to get the child table back?

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.