【发布时间】:2016-11-09 04:41:22
【问题描述】:
指定类
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; }
}
性别枚举
public enum gender
{
Male,
Female,enter code here
Other
}
【问题讨论】:
-
我想通过部门 ID 与三个模型/表建立外键关系,但错误显示如下>属性“部门 ID”不能配置为导航属性。该属性必须是有效的实体类型,并且该属性应该具有非抽象的 getter 和 setter。对于集合属性,该类型必须实现 ICollection
其中 T 是我的模型的有效实体类型 -
你不应该在评论中写你的问题。请尝试编辑您的问题并在那里写下您的详细信息
-
从
public int DepartmentID { get; set; }中删除[ForeignKey("DepartmentID")](如果需要,则需要将其应用于public virtual Department Department { get; set; }属性(但不适用于您的情况)。您还需要删除[DatabaseGenerated(DatabaseGeneratedOption.Identity)]也来自它。
标签: c# asp.net-mvc entity-framework code-first foreign-key-relationship