Document.cs 1.4 KB

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