我有一个能够(或不能)拥有多个JobTypes的候选人,我希望有一个CandidateJobTypes的中间表。
这是零对多的关系。
如何首先使用Entity Framework代码建模?
模型
public class Candidate
{
[Required]
public long CandidateId { get; set; }
public ICollection<CandidateJobType> CandidateJobTypes { get; set; }
}
public class CandidateJobType
{
public long Id { get; set; }
public long CandidateId { get; set; }
public virtual Candidate Candidate { get; set; }
public long JobTypeId { get; set; }
public virtual JobType JobType { get; set; }
}
public class JobType
{
public long Id { get; set; }
[Required]
public string Text { get; set; }
public long? ParentJobTypeId { get; set; }
public virtual JobType ParentJobType { get; set; }
}
OnModelCreating
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// not sure what goes in here
}
答案 0 :(得分:1)
为什么你需要OnModelCreating
中的任何内容?你遵循惯例就好了。一切都应该工作得很好
答案 1 :(得分:1)
将其定义为一对多。没有人关心这个系列是空的。
modelBuilder.Entity<CandidateJobType>()
.HasRequired(m => m.Candidate)
.WithMany(m = m.CandidateJobTypes);