Many to Many Mapping Using Data Annotations

后端 未结 1 1464
猫巷女王i
猫巷女王i 2020-12-20 18:43
[Table(\"UserMaster\")]
public class UserMaster  
{
    public UserMaster()
    {
        this.Roles = new List();
    }

    [Key]    
    public int Us         


        
相关标签:
1条回答
  • If you want to customize entity framework code first for many to many relationship using data annotation, you must add junction class as the following :

    [Table("UsersInRoles")]
    public class UsersInRoles
    {
        [Key]
        [Column(Order = 1)]
        [ForeignKey("UserMaster")]
        public int UserId { get; set; }
    
        [Key]
        [Column(Order = 2)]
        [ForeignKey("Role")]
        public int RoleId { get; set; }
    
        public UserMaster UserMaster { get; set; }
        public Role Role { get; set; }
    }
    

    and then related classes must be changed to :

    [Table("UserMaster")]
    public class UserMaster  
    {
        public UserMaster()
        {
            this.Roles = new List<Role>();
        }
    
        [Key]    
        public int UserId { get; set; }
        public string UserName { get; set; }
    
        public ICollection<UsersInRoles> UsersInRoles { get; set; }
     } 
    
    
    
    [Table("Role")]
    public class Role 
    {
        public Role()
        {
            this.Users = new List<UserMaster>();
        }
        public int RoleId{ get; set; }
        public string Name{ get; set; }
    
        public ICollection<UsersInRoles> UsersInRoles { get; set; }
    }
    

    and also see this.

    0 讨论(0)
提交回复
热议问题