我的网站上有 3 个实体,它们有很多组合。
我将创建以下层次结构:
- 每个用户都有一组用户角色。
- 每个 UserRole 都有固定的 PermissionRecords 集合
- 每个 PermissionRecord 都有一个 PermissionRecordPrivileges 字段,该字段因用户而异。
我想获得用户的权限(获得permissionRecord 和UserRole 集合非常简单)。据我了解,我需要创建一个合并以下数据的表:UserId、PermissionRecordId、PermissionPrivilegesId(3 个创建主键的外键)
如何使用 EF 5(或更早版本)执行此操作?
编码:
public class BaseEntity
{
public int Id { get; set; }
}
public class User:BaseEntity
{
public virtual ICollection<UserRole> UserRoles{get;set;}
}
public class UserRole:BaseEntity
{
public ICollection<PermissionRecord> PermissionRecords { get; set; }
}
public class PermissionRecord : BaseEntity
{
public PermissionRecordPrivileges Privileges { get; set; }
}
public class PermissionRecordPrivileges : BaseEntity
{
public bool Create { get; set; }
public bool Read { get; set; }
public bool Update { get; set; }
public bool Delete { get; set; }
}