Position.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using Microsoft.EntityFrameworkCore;
  2. using System.ComponentModel;
  3. using System.ComponentModel.DataAnnotations;
  4. namespace bitforum.Models.Page.Banner
  5. {
  6. [Index(nameof(Code), Name = "IX_BannerPosition_Code", IsUnique = true)]
  7. [Index(nameof(IsActive), Name = "IX_BannerPosition_IsActive")]
  8. public class BannerPosition
  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 = "위치 구분은 영문 및 숫자로만 구성되어야 합니다.")]
  17. public string Code { get; set; }
  18. [Required]
  19. [DisplayName("위치 명")]
  20. [DataType(DataType.Text)]
  21. [MaxLength(255)]
  22. public string Subject { get; set; }
  23. [Required]
  24. [DisplayName("사용 여부")]
  25. public bool IsActive { get; set; } = false;
  26. [DisplayName("수정일시")]
  27. [DataType(DataType.DateTime)]
  28. public DateTime? UpdatedAt { get; set; } = null;
  29. [DisplayName("등록일시")]
  30. [DataType(DataType.DateTime)]
  31. public DateTime? CreatedAt { get; set; } = null;
  32. public virtual ICollection<BannerItem> BannerItem { get; set; } = new List<BannerItem>();
  33. }
  34. }