Many to Many relationship in Asp.Net MVC 5 with Identity table and Custom table

前端 未结 3 1164
野的像风
野的像风 2021-01-06 16:46

I\'m trying to make a relationship between the Users from the table generated by Asp.Net Identity with my own table. The relationship must be many to many, since many Users

3条回答
  •  南笙
    南笙 (楼主)
    2021-01-06 17:45

    Try it like this:

    1. public class Projects
      {
          public Projects()
          {
              ApplicationUser = new HashSet();
          }
          public int Id { get; set; }
          public string Name { get; set; }
          public virtual ICollection ApplicationUser { get; set;     }
      }
      
    2. Application User

    
    
        public class ApplicationUser : IdentityUser
        {
            public ApplicationUser()
            {
                Projects = new HashSet();
            }
            public async Task GenerateUserIdentityAsync(UserManager manager)
            {
                // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
                var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
                // Add custom user claims here
                return userIdentity;
            }        
            public virtual ICollection  Projects { get; set; }
        }
    
    
    1. Application Context :
    
    
        public class ApplicationDbContext : IdentityDbContext
        {
            public ApplicationDbContext()
                : base("DefaultConnection", throwIfV1Schema: false)
            {
            }
            public virtual DbSet Projects { get; set; }
    
            public static ApplicationDbContext Create()
            {
                return new ApplicationDbContext();
            }
        }
    
    

    now when I run this Mvc app and register, the db tables I get is like the following:

    and the correct schema:

    The things to be questioned are a lot, from my point of view important is to determine if you: - can/should you mix application context and your model context ?

提交回复
热议问题