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()]
public string Email { get; set; }
[StringLength()]
public string Mobile { get; set; }
[StringLength()]
public string Telephone { get; set; }
[Required]
[StringLength()]
public string Name { get; set; }
[StringLength()]
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
相信大家应该已经理解了