RoleEntity.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using ZhonTai.Admin.Core.Entities;
  2. using FreeSql.DataAnnotations;
  3. using System;
  4. using System.Collections.Generic;
  5. using ZhonTai.Admin.Domain.Permission;
  6. using ZhonTai.Admin.Domain.User;
  7. using ZhonTai.Admin.Domain.UserRole;
  8. using ZhonTai.Admin.Domain.RolePermission;
  9. using ZhonTai.Admin.Domain.Org;
  10. namespace ZhonTai.Admin.Domain.Role;
  11. /// <summary>
  12. /// 角色
  13. /// </summary>
  14. [Table(Name = "ad_role")]
  15. [Index("idx_{tablename}_01", $"{nameof(TenantId)},{nameof(ParentId)},{nameof(Name)}", true)]
  16. public partial class RoleEntity : EntityBase, ITenant
  17. {
  18. /// <summary>
  19. /// 租户Id
  20. /// </summary>
  21. [Column(Position = 2, CanUpdate = false)]
  22. public long? TenantId { get; set; }
  23. /// <summary>
  24. /// 父级Id
  25. /// </summary>
  26. public long ParentId { get; set; }
  27. [Navigate(nameof(ParentId))]
  28. public List<OrgEntity> Childs { get; set; }
  29. /// <summary>
  30. /// 名称
  31. /// </summary>
  32. [Column(StringLength = 50)]
  33. public string Name { get; set; }
  34. /// <summary>
  35. /// 编码
  36. /// </summary>
  37. [Column(StringLength = 50)]
  38. public string Code { get; set; }
  39. /// <summary>
  40. /// 数据范围
  41. /// </summary>
  42. [Column(MapType = typeof(int))]
  43. public DataScope DataScope { get; set; } = DataScope.All;
  44. /// <summary>
  45. /// 说明
  46. /// </summary>
  47. [Column(StringLength = 200)]
  48. public string Description { get; set; }
  49. /// <summary>
  50. /// 隐藏
  51. /// </summary>
  52. public bool Hidden { get; set; }
  53. /// <summary>
  54. /// 排序
  55. /// </summary>
  56. public int Sort { get; set; }
  57. /// <summary>
  58. /// 用户列表
  59. /// </summary>
  60. [Navigate(ManyToMany = typeof(UserRoleEntity))]
  61. public ICollection<UserEntity> Users { get; set; }
  62. /// <summary>
  63. /// 部门列表
  64. /// </summary>
  65. [Navigate(ManyToMany = typeof(RoleOrgEntity))]
  66. public ICollection<OrgEntity> Orgs { get; set; }
  67. /// <summary>
  68. /// 权限列表
  69. /// </summary>
  70. [Navigate(ManyToMany = typeof(RolePermissionEntity))]
  71. public ICollection<PermissionEntity> Permissions { get; set; }
  72. }