You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EF6 Code First配置一对一关系时出现validation error如何解决?

问题原因

你已正确将Sfe的主键Id标记为指向Exercice的外键,但EF6无法自动识别两端的主从关系,缺少必填标记确认Sfe为依赖端,所以触发多重性校验报错。

解决方案

仅需在Sfe的Exercice导航属性上添加[Required]特性即可,修改后代码如下:

public class Exercice
{
     public int Id { get; set; }
     public virtual Sfe Sfe { get; set;}
}

public class Sfe
{
     [ForeignKey("Exercice")]
     public int Id { get; set; }

     [Required]
     public virtual Exercice Exercice { get; set; }
}

补充说明

  • 加[Required]后EF会明确Sfe必须关联一个已存在的Exercice,满足依赖端多重性上限为1的校验规则。
  • 如果你需要实现严格的一对一(即Exercice也必须关联Sfe),在Exercice的Sfe导航属性上也添加[Required]即可。
  • 如果你需要实现Exercice可以不关联Sfe的1对0/1关系,用上面的代码即可,不需要额外修改。

内容的提问来源于stack exchange,提问作者jordy robson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:15:03