Category.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using Microsoft.EntityFrameworkCore;
  2. using System.ComponentModel;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.ComponentModel.DataAnnotations.Schema;
  5. namespace bitforum.Models.Page.Faq
  6. {
  7. [Table("FaqCategory")]
  8. [Index(nameof(Code), Name = "IX_FaqCategory_Code", IsUnique = true)]
  9. [Index(nameof(Order), Name = "IX_FaqCategory_Order")]
  10. public class FaqCategory
  11. {
  12. public virtual List<FaqItem> FaqItem { get; set; } = new List<FaqItem>();
  13. [Key]
  14. [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
  15. [DisplayName("PK")]
  16. [Comment("PK")]
  17. public int ID { get; set; }
  18. [Required]
  19. [DisplayName("주소")]
  20. [Comment("주소")]
  21. [DataType(DataType.Text)]
  22. [StringLength(30)]
  23. [RegularExpression(@"^[a-zA-Z0-9]+$", ErrorMessage = "주소는 영문 및 숫자로만 구성되어야 합니다.")]
  24. public string Code { get; set; } = null!;
  25. [Required]
  26. [DisplayName("분류 명")]
  27. [Comment("분류 명")]
  28. [DataType(DataType.Text)]
  29. [StringLength(255)]
  30. public string Subject { get; set; } = null!;
  31. [Required]
  32. [DisplayName("순서")]
  33. [Comment("순서")]
  34. public int Order { get; set; } = 0;
  35. [Required]
  36. [DisplayName("사용 여부")]
  37. [Comment("사용 여부")]
  38. public bool IsActive { get; set; } = false;
  39. [DisplayName("수정 일시")]
  40. [Comment("수정 일시")]
  41. [DataType(DataType.DateTime)]
  42. public DateTime? UpdatedAt { get; set; } = null;
  43. [DisplayName("등록 일시")]
  44. [Comment("등록 일시")]
  45. [DataType(DataType.DateTime)]
  46. public DateTime CreatedAt { get; set; }
  47. }
  48. }