using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace FMSAdmin.Entities {
    public partial class CmInvestigation3 {
        public CmInvestigation3() {
            CmInvestigation3History = new HashSet<CmInvestigation3History>();
        }

        [Display(Name = "고유번호"), Key]
        public int SiteId { get; set; }
        public int InvestigationId { get; set; }
        [Display(Name = "정보조사번호"), Required]
        [StringLength(20)]
        public string InvestigationNo { get; set; }
        [Display(Name = "정보조사타입"), Required]
        public int InvestigationGroupId { get; set; }
        [Display(Name = "정보조사분류"), Required]
        public int InvestigationTypeId { get; set; }
        [Display(Name = "정보조사이름"), Required]
        [StringLength(200)]
        public string Name { get; set; }
        [Display(Name = "정보조사설명")]
        [StringLength(2000)]
        public string Description { get; set; }
        [Display(Name = "본사등록여부")]
        public bool IsAllSite { get; set; }
        [Display(Name = "정보조사파일")]
        [NotMapped]
        public CmFile CmFile { get; set; }
        [NotMapped]
        public String CreateUserId { get; set; }

        [ForeignKey("InvestigationGroupId")]
        public virtual CmInvestigation3CodeGroup CmInvestigation3CodeGroup { get; set; }
        [ForeignKey("InvestigationTypeId")]
        public virtual CmInvestigation3CodeType CmInvestigation3CodeType { get; set; }
        [ForeignKey("SiteId")]
        public virtual CmSite CmSite { get; set; }

        [InverseProperty("CmInvestigation3")]
        public virtual ICollection<CmInvestigation3History> CmInvestigation3History { get; set; }
    }
}
