EF Code First中的可选外键关系

时间:2012-07-31 18:29:20

标签: c# entity-framework

我正在使用实体框架和代码开发项目。这是我缩短的课程

public class BenefitsForm : IAnnualForm, IAuditable 
{
    public BenefitsUser UserInfo { get; set; }
    public CoverageLevel Medical { get; set; } //foreign key to CoverageLevels, optional
}

public class MedicalPlan : IHealthPlan
{
    public int Id { get; set; }
    public virtual IList<CoverageLevel> CoverageLevels { get; set; } //list of CoverageLevels, optional
}

public class CoverageLevel
{
    public int Id { get; set; }
    public MedicalPlan MedicalPlan { get; set; } //CoverageLevel foreign key to Medical Plan, optional
}

所以基本上医疗计划每个都有4个覆盖水平。每个覆盖级别都包含对创建它的计划的外键引用(在本例中为medical)。此外,每个福利表格可以包含特定的保险范围(参考医疗计划)。

最终目标是能够通过form.Medical.MedicalPlan将覆盖水平纳入福利形式,并且能够查看覆盖水平所属的医疗计划。我的Fluent API应该是什么样的?这是我到目前为止所做的。

modelBuilder.Entity<CoverageLevel>().HasOptional(c => c.MedicalPlan)
            .WithMany(p => p.CoverageLevels)
            .HasForeignKey(c => c.MedicalPlan);

BenefitsForm需要什么? 我是否需要在CoverageLevel类中引用BenefitForm?

0 个答案:

没有答案