[英]Self referencing association between same types in EF for multiple members
我有一個從“ IdentityUser”繼承的員工類。
public class Employee : IdentityUser
{
public String Name { get; set; }
public string ManagerID { get; set; }
public virtual Employee Manager { get; set; }
}
這工作正常,但是當我添加相同類型的另一個屬性時,例如
public virtual Employee TeamLead { get; set; }
它引發以下異常:
無法確定類型'eHRMS.DAL.Models.Employee'和'eHRMS.DAL.Models.Employee'之間的關聯的主要終點。 必須使用關系流利的API或數據注釋顯式配置此關聯的主體端
附加說明:我希望TeamLead是可選的,而Manager是必需的。
更新我真正想要的是要有一個雇員列表,每個雇員可以有一個TeamLead(也是雇員類型),並且必須有一個經理(也是雇員類型)。 經理是必需的,這意味着將有至少一名員工擔任經理。
該錯誤消息告訴您,它不知道哪個實體取決於哪個實體。
使用Fluent API,您可以告訴modelbuilder,它是依賴的,並且是可選的:
modelBuilder.Entity<Employee>()
.HasOptional(f => f.TeamLead)
.WithRequired(s => s.Manager);
如果員工需要經理,則可以使用DataAnnotations解決此問題:
public class Employee : IdentityUser
{
public String Name { get; set; }
public string ManagerID { get; set; }
[Required]
public virtual Employee Manager { get; set; }
public virtual Employee TeamLead { get; set; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.