Board.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using Microsoft.EntityFrameworkCore;
  2. using System.ComponentModel;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.ComponentModel.DataAnnotations.Schema;
  5. namespace bitforum.Models.BBS
  6. {
  7. [Table("Board")]
  8. [Index(nameof(Code), Name = "IX_Board_Code", IsUnique = true)]
  9. [Index(nameof(Name), Name = "IX_Board_Name")]
  10. [Index(nameof(Order), Name = "IX_Board_Order")]
  11. [Index(nameof(IsSearch), Name = "IX_Board_IsSearch")]
  12. [Index(nameof(IsActive), Name = "IX_Board_IsActive")]
  13. [Index(nameof(Posts), Name = "IX_Board_Posts")]
  14. [Index(nameof(Comments), Name = "IX_Board_Comments")]
  15. public class Board
  16. {
  17. [ForeignKey("BoardGroupID")]
  18. public BoardGroup BoardGroup { get; set; } = null!;
  19. public virtual ICollection<Post> Post { get; set; } = new List<Post>();
  20. [Key]
  21. [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
  22. [DisplayName("PK")]
  23. [Comment("PK")]
  24. public int ID { get; set; }
  25. [Required]
  26. [DisplayName("분류 ID")]
  27. [Comment("분류 ID")]
  28. public int BoardGroupID { get; set; }
  29. [Required]
  30. [DisplayName("게시판 주소")]
  31. [Comment("게시판 주소")]
  32. [DataType(DataType.Text)]
  33. [StringLength(70)]
  34. public string Code { get; set; } = null!;
  35. [Required]
  36. [DisplayName("게시판 이름")]
  37. [Comment("게시판 이름")]
  38. [DataType(DataType.Text)]
  39. [StringLength(70)]
  40. public string Name { get; set; } = null!;
  41. [Required]
  42. [DisplayName("순서")]
  43. [Comment("순서")]
  44. public short Order { get; set; } = 0;
  45. [Required]
  46. [DisplayName("검색 여부")]
  47. [Comment("검색 여부")]
  48. public bool IsSearch { get; set; } = false;
  49. [Required]
  50. [DisplayName("사용 여부")]
  51. [Comment("사용 여부")]
  52. public bool IsActive { get; set; } = false;
  53. [DisplayName("게시글 수")]
  54. [Comment("게시글 수")]
  55. public int Posts { get; set; } = 0;
  56. [DisplayName("댓글 수")]
  57. [Comment("댓글 수")]
  58. public int Comments { get; set; } = 0;
  59. [DisplayName("수정 일시")]
  60. [Comment("수정 일시")]
  61. [DataType(DataType.DateTime)]
  62. public DateTime? UpdatedAt { get; set; } = null;
  63. [DisplayName("등록 일시")]
  64. [Comment("등록 일시")]
  65. [DataType(DataType.DateTime)]
  66. public DateTime CreatedAt { get; set; }
  67. }
  68. }