希望这是相对简单的,但我似乎无法围绕这样做。
我有一个像这样的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 ...
}
带给我的poco我无法弄明白: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; }
}
我希望老虎踪迹清单显示这种数据(伪sql结果)
Id FK_ReqBadgeId FK_ElectiveBadgeID Complete CompleteDate
1 42 null true 11-12-13
2 null 13 true 11-12-14
所以,有几个问题:
答案 0 :(得分:0)
有几点指示:
[Key]
属性中注释您的POCO Id属性。实体框架将按惯例将Id列视为主键,并在运行时自动分配其值。