Position.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. public int ID { get; set; }
  15. [Required]
  16. [DisplayName("위치 구분")]
  17. [DataType(DataType.Text)]
  18. [MaxLength(30)]
  19. [RegularExpression(@"^[a-zA-Z0-9]+$", ErrorMessage = "위치 구분은 영문 및 숫자로만 구성되어야 합니다.")]
  20. public string Code { get; set; }
  21. [Required]
  22. [DisplayName("위치 명")]
  23. [DataType(DataType.Text)]
  24. [MaxLength(255)]
  25. public string Subject { get; set; }
  26. [Required]
  27. [DisplayName("사용 여부")]
  28. public bool IsActive { get; set; } = false;
  29. [DisplayName("수정일시")]
  30. [DataType(DataType.DateTime)]
  31. public DateTime? UpdatedAt { get; set; } = null;
  32. [DisplayName("등록일시")]
  33. [DataType(DataType.DateTime)]
  34. public DateTime? CreatedAt { get; set; } = null;
  35. }
  36. }