0
我先使用代碼,並有幾個具有導航屬性的類。更新與相同類型的關係的導航屬性?
問題類別:
public class Issue
{
public Issue()
{
Complaints = new List<Complaint>();
SubIssues = new List<Issue>();
}
[Key,ForeignKey("Complaints")]
public int IssueID { get; set; }
public string Name { get; set; }
public bool IsSubCategory { get; set; }
public virtual Issue ParentIssue { get; set; }
public virtual ICollection<Issue> SubIssues { get; set; }
public virtual ICollection<Complaint> Complaints { get; set; }
}
投訴類:
public class Complaint
{
public Complaint()
{
CreateDate = DateTime.Now;
}
public int ComplaintID { get; set; }
public DateTime CreateDate { get; set; }
[MaxLength(2000)]
public string Description { get; set; }
public bool IsClosed { get; set; }
[ForeignKey("IssueID")]
public virtual Issue Issue { get; set; }
public int IssueID { get; set; }
}
的投訴類是工作的罰款。我遇到困難的地方是問題類別,它引用了子表和ParentIssue。這個想法是,每個IsSubCategory == False的Issue記錄可以有多個相關的Issue記錄作爲SubIssues的集合,每個IsSubCategory == true的Issue記錄與ParentIssue的Issue記錄具有1對1的關係。
因爲一些DBA標準我還需要指定的外鍵字段的命名,即ParentIssueID而非Issue_ParentIssueID(或不管它自動一族)
我寧願用數據說明這樣做,但可能如果需要的話,使用OnModelCreating過程。
我該如何解決問題類以便創建正確的表?