public class Account { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int AccountID { get; set; } public string LoginName { get; set; } public string Password { get; set; } public string SecurityStamp { get; set; } /// <summary> /// 默认: 1 可以登录 0 已删除(不能登陆) /// </summary> public int Status { get; set; } public virtual AccountInfo AccountInfo { get; set; } [ForeignKey("Role")] public int RoleID { get; set; } public virtual Role Role { get; set; } public virtual ICollection<AccountModule> AccountModules { get; set; } }
public class AccountInfo { [Key] [ForeignKey("Account")] public int AccountID { get; set; } public virtual Account Account { get; set; } [Required] [StringLength(100)] public string Email { get; set; } [StringLength(100)] public string Mobile { get; set; } [StringLength(100)] public string Telephone { get; set; } [Required] [StringLength(100)] public string Name { get; set; } [StringLength(100)] public string QQNumber { get; set; } }
public class AccountModule { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int AccountModuleID { get; set; } [ForeignKey("Account")] public int AccountID { get; set; } public virtual Account Account { get; set; } [ForeignKey("Module")] public int ModuleID { get; set; } public virtual Module Module { get; set; } }
public class Role { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int RoleID { get; set; } public string RoleName { get; set; } }
看了上面几个Model相信大家已经知道了吧。
1对1,就是Account 对于 AccountInfo
多对一 就是Account对于Role
多对多 就是Account对于Module
相信大家应该已经理解了