using System.ComponentModel.DataAnnotations.Schema; using System.Text.Json; using static LMS.Common.Enums.PermissionEnum; namespace LMS.Repository.Models.DB { /// /// 所有的权限集合 /// public class Permission { /// /// 权限的ID /// public string Id { get; set; } /// /// 用户的ID /// public long? UserId { get; set; } /// /// 机器码的ID(是ID,不是机器码) /// public string? MachineId { get; set; } /// /// 角色ID /// public long? RoleId { get; set; } /// /// 权限类型的ID(子权限) /// [Column(TypeName = "json")] public string PermissionTypeIds { get; set; } /// /// 权限对应的Code /// public string PermissionCode { get; set; } /// /// 权限类型 /// public PType Type { get; set; } /// /// 创建人ID /// public long CreateUserId { get; set; } /// /// 更新人ID /// public long UpdateUserId { get; set; } /// /// 创建时间 /// public DateTime CreateTime { get; set; } /// /// 更新时间 /// public DateTime UpdateTime { get; set; } /// /// 备注 /// public string Remark { get; set; } [NotMapped] public List PermissionTypeIdsJson { get => JsonSerializer.Deserialize>(PermissionTypeIds) ?? []; set => PermissionTypeIds = JsonSerializer.Serialize(value); } } }