0

Bezeichnung KlasseDie Eigenschaft 'DepartmentID' kann nicht als Navigationseigenschaft

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

Abteilung Klasse

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 Klasse

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; } 
} 
konfiguriert werden,

Geschlecht Enum

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

Ich möchte eine Fremdschlüsselbeziehung mit drei Modellen/Tabellen nach AbteilungsID herstellen, aber der Fehler zeigt Folgendes:> Die Eigenschaft 'AbteilungsID' kann nicht als Navigationseigenschaft konfiguriert werden. Die Eigenschaft muss ein gültiger Entitätstyp sein und die Eigenschaft sollte ein nicht-abstrakten Getter und Setter hat. Zum Sammeln Eigenschaften muss der Typ ICollection implementieren wobei T eine gültige Entitätstyp ist mein Modell ist –

+1

Sie sollten Ihre Frage nicht in Kommentar schreiben. Bitte versuchen Sie Ihre Frage zu bearbeiten und schreiben Sie Ihre Details dort –

+0

Entfernen '[ForeignKey ("DepartmentID")]' 'von public int DepartmentID {get; einstellen; } '(Wenn es gebraucht wird, müßte es auf die' öffentliche virtuelle Abteilung Abteilung angewandt werden {get; set;.} 'Eigentum (aber es ist nicht in Ihrem Fall) Sie müssen auch entfernen' [DatabaseGenerated (DatabaseGeneratedOption.Identity) ] 'daraus auch. –

Antwort

0

Verwenden [ForeignKey ("DepartmentID")] auf Ihrer öffentlichen virtuellen Abteilung Abteilung {get; einstellen; } Eigenschaft und nicht die Eigenschaft DepartmentID. Somit würde die AbteilungsID als Fremdschlüssel für die assoziierte Abteilung identifiziert werden.

Auch müssen Sie nicht das ForeignKey Attribut festlegen müssen, wie Sie den DepartmentID Namen genauso wie Abteilung zugeordnete Objekt-Eigenschaft festgelegt haben, werden standardmäßig Konvention EF setzt DepartmentID als foreignkey.

Siehe unten Code, werden Sie ein klares Bild haben.

Verwandte Themen