C# 添加第二个与表实体框架6 fluent api的一对一关系

C# 添加第二个与表实体框架6 fluent api的一对一关系,c#,entity-framework,ef-code-first,asp.net-mvc-5.2,C#,Entity Framework,Ef Code First,Asp.net Mvc 5.2,我的任务是首先使用代码创建一个web应用程序,我添加了第一个一对一的关系,正如我所期望的那样,然后添加了第二个一对一的关系,但无法让它工作 以下是我的模型(为了简洁起见删除了大多数属性) FollowUpAssessment.cs FullBloodCount.cs discounteevent.cs 上下文 模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder) { 基于模型创建(modelBuilder); modelBuilder.Entity() .has可

我的任务是首先使用代码创建一个web应用程序,我添加了第一个一对一的关系,正如我所期望的那样,然后添加了第二个一对一的关系,但无法让它工作

以下是我的模型(为了简洁起见删除了大多数属性)

FollowUpAssessment.cs

FullBloodCount.cs

discounteevent.cs

上下文

模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
基于模型创建(modelBuilder);
modelBuilder.Entity()
.has可选(s=>s.FullBloodCount)
.需要(s=>s.后续评估);
modelBuilder.Entity()
.has可选(s=>s.DisposteEvent)
.需要(s=>s.后续评估);
}
添加随访时,使用外键将全血计数数据正确添加到其表中,但尽我所能,我似乎无法使不良事件数据填充到表中


我今天大部分时间都在研究这个问题,在互联网上搜索,似乎只能找到.NET核心解决方案。我必须使用.NET4.7.1、MVC5和EF6.2.0来完成这项任务。如有任何建议,我将不胜感激。谢谢

我已经解决了这个问题,它与我当时正在处理的fluent API代码无关-它与日期时间问题有关。

我建议为
DiscounteeEvent
FullBloodCount
的主键引入独立属性。请同时显示填充表的代码。
public class FollowUpAssessment
{
    [Key]
    public int FollowUpAssessmentId { get; set; }
    public virtual FullBloodCount FullBloodCount { get; set; }
    public virtual AdverseEvent AdverseEvent { get; set; }
}
public class FullBloodCount
{
    [Key]
    [ForeignKey("FollowUpAssessment")]
    public int FollowUpAssessmentId { get; set; }

    public virtual FollowUpAssessment FollowUpAssessment { get; set; }
}
public class AdverseEvent
{
    [Key]
    [ForeignKey("FollowUpAssessment")]
    public int FollowUpAssessmentId { get; set; }

    public virtual FollowUpAssessment FollowUpAssessment { get; set; }
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
        base.OnModelCreating(modelBuilder);

        modelBuilder.Entity<FollowUpAssessment>()
                    .HasOptional(s => s.FullBloodCount)
                    .WithRequired(s => s.FollowUpAssessment);

        modelBuilder.Entity<FollowUpAssessment>()
                    .HasOptional(s => s.AdverseEvent)
                    .WithRequired(s => s.FollowUpAssessment);
}