我正在使用实体框架和代码进行项目。这是我的缩短课程
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 个覆盖级别。每个覆盖级别都包含对创建它的计划(在本例中为医疗)的外键引用。此外,每份福利表都可以包含特定的承保级别(参考医疗计划)。
最终目标是能够将覆盖级别放入福利表格中,并且还能够通过执行 form.Medical.MedicalPlan 来查看该覆盖级别所属的医疗计划。我的 Fluent API 应该是什么样的?这就是我到目前为止所拥有的。
modelBuilder.Entity<CoverageLevel>().HasOptional(c => c.MedicalPlan)
.WithMany(p => p.CoverageLevels)
.HasForeignKey(c => c.MedicalPlan);
福利表格需要什么?我需要在 CoverageLevel 类中引用 BenefitForm 吗?