Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 财产';部门ID';无法配置为导航属性_C#_Asp.net Mvc_Entity Framework_Code First_Foreign Key Relationship - Fatal编程技术网

C# 财产';部门ID';无法配置为导航属性

C# 财产';部门ID';无法配置为导航属性,c#,asp.net-mvc,entity-framework,code-first,foreign-key-relationship,C#,Asp.net Mvc,Entity Framework,Code First,Foreign Key Relationship,指定类别 public class Designation { [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Key] public int id { get; set; } [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [ForeignKey("DepartmentID")] public int Departme

指定类别

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; }
}
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; }
}
系级

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; }
}
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; }
}
性别枚举

public enum gender
{
    Male,
    Female,enter code here
    Other
}
公共虚拟部门{get;set;}
属性上使用
[ForeignKey(“DepartmentID”)]
,而不是
部门id
属性。因此,
DepartmentID
将被标识为关联的
部门的外键

即使您不需要设置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; }
}

我想按departmentID与三个模型/表建立外键关系,但错误显示如下>无法将属性“departmentID”配置为导航属性。该属性必须是有效的实体类型,并且该属性应该具有非抽象的getter和setter。对于集合属性,类型必须实现ICollection,其中T是有效的实体类型my model is您不应该在注释中写问题。请尝试编辑您的问题并在此处写入详细信息从
public int DepartmentID{get;set;}
中删除
[ForeignKey(“DepartmentID”)]
(如果需要,需要将其应用于
公共虚拟部门{get;set;}
属性(但不在您的情况下)。您还需要删除
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
也从中生成。