Position.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using Microsoft.EntityFrameworkCore;
  2. using System.ComponentModel;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.ComponentModel.DataAnnotations.Schema;
  5. namespace bitforum.Models.Page.Banner
  6. {
  7. [Table("BannerPosition")]
  8. [Index(nameof(Code), Name = "IX_BannerPosition_Code", IsUnique = true)]
  9. [Index(nameof(IsActive), Name = "IX_BannerPosition_IsActive")]
  10. public class BannerPosition
  11. {
  12. public virtual ICollection<BannerItem> BannerItem { get; set; } = new List<BannerItem>();
  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 bool IsActive { get; set; } = false;
  35. [DisplayName("수정 일시")]
  36. [Comment("수정 일시")]
  37. [DataType(DataType.DateTime)]
  38. public DateTime? UpdatedAt { get; set; } = null;
  39. [DisplayName("등록 일시")]
  40. [Comment("등록 일시")]
  41. [DataType(DataType.DateTime)]
  42. public DateTime CreatedAt { get; set; }
  43. }
  44. }