EF Code First set of primary foreign key relationship (b)

There are now three classes entities, TUsers (user-based), TRoles (character) -based, TUsersRoles (user role categories), the user may correspond to a plurality of characters, a character may correspond to a plurality of users, users and roles are many relationship . 
A method (defined in the main entity), as follows:

public class TUsers
    {
        [Key]
        public int UserId { get; set; }

        public string Account { get; set; }

        public string Password { get; set; }

        public DateTime CreateDate { get; set; }

        public List<TUsersRoles> TUsersRolesList { get; set; }
    }
    public class TRoles
    {
        [Key]
        public int Id { get; set; }

        public string RoleName { get; set; }

        public string RoleRemark { get; set; }

        public List<TUsersRoles> TRolesUsersList { get; set; }
    }
    public class TUsersRoles
    {
        [Key]
        public int Id { get; set; }
    }

Generating a table structure as shown below: 

We can see that the production of the foreign key rule is "the primary key of the class name _." 
Method 2 (in the definition of the entity), as follows:

public class TUsers
    {
        [Key]
        public int UserId { get; set; }

        public string Account { get; set; }

        public string Password { get; set; }

        public DateTime CreateDate { get; set; }
    }
    public class TRoles
    {
        [Key]
        public int Id { get; set; }

        public string RoleName { get; set; }

        public string RoleRemark { get; set; }
    }
    public class TUsersRoles
    {
        [Key]
        public int Id { get; set; }

        public virtual TUsers Users { get; set; }

        public virtual TRoles Roles { get; set; }
    }

Foreign key production rules "object name _ the primary key."

To-many relationship can be created automatically generate management table, as follows:

public class TUsers
    {
        [Key]
        public int UserId { get; set; }

        public string Account { get; set; }

        public string Password { get; set; }

        public DateTime CreateDate { get; set; }

        public List<TRoles> Roles { get; set; }
    }
    public class TRoles
    {
        [Key]
        public int Id { get; set; }

        public string RoleName { get; set; }

        public string RoleRemark { get; set; }

        public List<TUsers> Users { get; set; }
    }

生成的表结构 

 

Guess you like

Origin www.cnblogs.com/zhusk/p/10972594.html