0

我建立:

  • 自定义自定义会员提供程序
  • 自定义角色提供者
  • 用户模型
  • 榜样

它正确地为我创建了 2 个自定义表。现在我想在用户和角色之间创建包含 2 列的表:RoleId、UserId

我应该调整我的模型来教 EF 创建这个关系表(UsersInRole)吗?

用户型号:

 public class User
{

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

    [Required]
    public Int32 CompanyId { get; set; }

    [Required]
    public String UserName { get; set; }

    public String Password { get; set; }

    public String PasswordSalt { get; set; }

    public String Email { get; set; }

    public Boolean IsApproved { get; set; }

    public Boolean IsLockedOut { get; set; }

    public DateTime CreateDate { get; set; }

    public DateTime LastLoginDate { get; set; }

    public DateTime LastPasswordChangedDate { get; set; }

    public DateTime LastLockoutDate { get; set; }

}

好榜样:

public class Role
{

    [Key]
    public int RoleId { get; set; }

    [Required]
    [MaxLength(20)]
    public string Name { get; set; }

    public ICollection<string> AssignedUsers { get; set; }

}
4

2 回答 2

1

如果您使用的是代码优先 EF,那么您需要做的就是将用户集合添加到 Role 类,反之亦然。EF 将此双向链接作为信号,在底层数据存储中创建多对多关系。总而言之,您的课程将像这样增加......

public class User
{
  ...

  List<Role> Roles {get; set;}

}

public class Role
{
  ...

  List<User> Users {get; set;}
}
于 2012-05-24T16:17:44.290 回答
0
public class Role
{

    [Key]
    public int RoleId { get; set; }

    [Required]
    [MaxLength(20)]
    public string Name { get; set; }

    public ICollection<User> AssignedUsers { get; set; }

}


 public class User
{

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

    [Required]
    public Int32 CompanyId { get; set; }

    [Required]
    public String UserName { get; set; }

    public String Password { get; set; }

    public String PasswordSalt { get; set; }

    public String Email { get; set; }

    public Boolean IsApproved { get; set; }

    public Boolean IsLockedOut { get; set; }

    public DateTime CreateDate { get; set; }

    public DateTime LastLoginDate { get; set; }

    public DateTime LastPasswordChangedDate { get; set; }

    public DateTime LastLockoutDate { get; set; }

    public ICollection<Role> Roles{ get; set; }

}
于 2012-05-24T16:12:12.403 回答