Document.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using Microsoft.EntityFrameworkCore;
  2. using System.ComponentModel;
  3. using System.ComponentModel.DataAnnotations;
  4. namespace bitforum.Models.Page
  5. {
  6. [Index(nameof(Code), Name = "IX_Document_Code", IsUnique = true)]
  7. [Index(nameof(IsActive), Name = "IX_Document_IsActive", IsUnique = true)]
  8. public class Document
  9. {
  10. [Key]
  11. public int ID { get; set; }
  12. [Required]
  13. [DisplayName("주소")]
  14. [DataType(DataType.Text)]
  15. [MaxLength(30)]
  16. [RegularExpression(@"^[a-zA-Z0-9]+$", ErrorMessage = "Code는 영문 및 숫자로만 구성되어야 합니다.")]
  17. public string Code { get; set; }
  18. [Required]
  19. [DisplayName("제목")]
  20. [DataType(DataType.Text)]
  21. [MaxLength(120)]
  22. public string Subject { get; set; }
  23. [DisplayName("내용")]
  24. [DataType(DataType.Html)]
  25. public string? Content { get; set; } = null;
  26. [Required]
  27. [DisplayName("사용 여부")]
  28. public bool IsActive { get; set; } = false;
  29. [DisplayName("조회 수")]
  30. public int Views { get; set; } = 0;
  31. [Display(Name = "수정일시")]
  32. [DataType(DataType.DateTime)]
  33. public DateTime? UpdatedAt { get; set; } = null;
  34. [Display(Name = "등록일시")]
  35. [DataType(DataType.DateTime)]
  36. public DateTime? CreatedAt { get; set; } = null;
  37. }
  38. }