[英]How can I create a custom m2m table in Entity Framework Code-First
希望這是相對簡單的,但是我似乎無法全神貫注於此。
我有一個這樣的POCO:
public class TigerTrailRequiredBadge
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public virtual ICollection<TigerTrailRequiredBadgeSubRequirement> TigerTrailRequiredBadgeSubRequirements { get; set; }
}
和一個非常類似的這樣:
public class TigerTrailElectiveBadge
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public int Number { get; set; }
public string Name { get; set; }
public string Requirement { get; set; }
}
這兩個poco是只有一堆查詢數據的表。 它們是徽章要求的清單。 我現在需要一張桌子來跟蹤人員完成徽章的進度。 因此,我有一個具有以下對象屬性的root用戶對象:
public class Youth
{
...
public virtual YouthCubRequirementsTracker YouthCubRequirementsTracker { get; set; }
...
}
那poco看起來像這樣:
public class YouthCubRequirementsTracker
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public bool TigerTrailDone { get; set; }
public virtual TigerTrailChecklist TigerTrailChecklist { get; set; }
...more 'Trail' Checklists ...
}
這把我帶到了我無法弄清楚的地方:TigerTrailChecklist:
public class TigerTrailChecklist
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public List<TigerTrailRequiredBadge> RequiredBadges { get; set; }
public List<TigerTrailElectiveBadge> ElectiveBadges { get; set; }
}
我希望Tiger Trail清單顯示這種數據(偽sql結果)
Id FK_ReqBadgeId FK_ElectiveBadgeID Complete CompleteDate
1 42 null true 11-12-13
2 null 13 true 11-12-14
所以,有幾個問題:
幾個指針:
[Key]
和[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
屬性中注釋POCO Id屬性。 按照慣例,實體框架會將Id列視為主鍵,並在運行時自動分配其值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.