该物业';部门ID';无法配置为导航属性

本文关键字:配置 属性 导航 部门 ID | 更新日期: 2023-09-27 18:16:58

指定类别

public class Designation
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Key]
    public int  id  { get; set; }
     [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [ForeignKey("DepartmentID")]
    public int DepartmentID { get; set; }

    public bool IsActive { get; set; }
    public string AddedBy { get; set; }
    public DateTime AddedDate { get; set; }
    public string UpdateBy { get; set; }
    public DateTime UpdateDate { get; set; }
    public virtual  Department Department { get; set; }
}

部门类别

public class Department
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Key]
    public int DepartmentID { get; set; }
    public string DepartmentName { get; set; }
    public bool IsActive { get; set; }
    public string AddedBy { get; set; }
    public DateTime AddedDate { get; set; }
    public string UpdateBy { get; set; }
    public DateTime UpdateDate { get; set; }
    public virtual  ICollection<Designation> Designations { get; set; }
}

EmployeeInfo类

public class EmployeeInfo
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Key]
    public int EmployeeID { get; set; }
    public int DepartmentID { get; set; }
    [ForeignKey("DepartmentID")]
    public virtual Department Department { get; set; }
    [Required(ErrorMessage = "Employee Name is Required"), Display(Name = "Name")]
    public string EmployeeName { get; set; }
    [Required(ErrorMessage = "Employee Bangla Name is Required"), Display(Name = "Bangla Name")]
    public string EmployeeBanglaName { get; set; }
    [Required(ErrorMessage = "Department Name is Required")]
    public string Department { get; set; }
    [Required(ErrorMessage = "Designation is Required")]
    public string Designation { get; set; }
    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
    public DateTime JoiningDate{ get; set; }
    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
    public DateTime DateOfBirth { get; set; }
    [Required(ErrorMessage = "BloodGroup is Required"), Display(Name = "Blood Group")]
    public string BloodGroup { get; set; }
    [Required(ErrorMessage = "Gender is Required")]      
    public gender Gender { get; set; }   
    [Required(ErrorMessage = "Father Name is Required"), Display(Name = "Father Name")]
    public string FatherName { get; set; }
    [Required(ErrorMessage = "Mother Name is Required"), Display(Name = "Mother Name")]
    public string MotherName { get; set; }
    [Required(ErrorMessage = "Husband/Wife Name is Required"), Display(Name = "Spouse Name")]
    public string SpouseName { get; set; }
    public string ChildrenNumber { get; set; }
    public string CardNumber { get; set; }
    [Required(ErrorMessage = "Contact No is Required"), DataType(DataType.PhoneNumber)]
    public string ContactNo { get; set; }
    [Required(ErrorMessage = "Email is Required"), DataType(DataType.EmailAddress), StringLength(200)]
    public string Email { get; set; }
    [Required(ErrorMessage = "HomeContactNo is Required"),DataType(DataType.PhoneNumber)]
    public string HomeContactNo { get; set; }
    [Required(ErrorMessage = "District Name is Required")]
    public string District { get; set; }
    [Required(ErrorMessage = "Thana is Required")]
    public string Thana { get; set; }
    [Required(ErrorMessage = "Village Name is Required")]
    public string Vill { get; set; }
    [Required(ErrorMessage = "Post Code is Required")]
    public string PostCode { get; set; }
    public string Image { get; set; }
    public byte[] picture { get; set; }
    public bool IsActive { get; set; }
    public string AddedBy { get; set; }
    public DateTime AddedDate { get; set; }
    public string UpdateBy { get; set; }
    public DateTime UpdateDate { get; set; }
}

gender枚举

public enum gender
{
    Male,
    Female,enter code here
    Other
}

该物业';部门ID';无法配置为导航属性

public virtual Department Department { get; set; }属性上使用[ForeignKey("DepartmentID")],而不是DepartmentID属性。因此CCD_ 4将被识别为用于关联的CCD_。

即使您不需要设置ForeignKey属性,因为您已经将DepartmentID名称设置为与Department关联的对象属性相同,默认情况下,EF将DepartmentID设置为外键。

看到下面的代码,你会有一个清晰的画面。

public class Designation
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Key]
    public int  id  { get; set; }
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int DepartmentID { get; set; }
    public bool IsActive { get; set; }
    public string AddedBy { get; set; }
    public DateTime AddedDate { get; set; }
    public string UpdateBy { get; set; }
    public DateTime UpdateDate { get; set; }
    [ForeignKey("DepartmentID")]
    public virtual  Department Department { get; set; }
}