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; } }
生成的表结构