C# 如何使用数据注释实现0..1:0..1关系

C# 如何使用数据注释实现0..1:0..1关系,c#,C#,我有两门基础课。我正在尝试添加1:1的关系 我最初的尝试 现金流 public int? Note_Id { get; set; } [ForeignKey("Note_Id")] public virtual Note Note{ get; set; } 附注1.cs public int? Cashflow_Id { get; set; } [ForeignKey("Cashflow_Id ")] public virtual Cashflow Cashflow{ get; set; }

我有两门基础课。我正在尝试添加1:1的关系

我最初的尝试

现金流

public int? Note_Id { get; set; }
[ForeignKey("Note_Id")]
public virtual Note Note{ get; set; }
附注1.cs

public int? Cashflow_Id { get; set; }
[ForeignKey("Cashflow_Id ")]
public virtual Cashflow Cashflow{ get; set; }
最初产生的错误是

必须显式配置此关联的主体端 使用关系API或数据注释

在谷歌搜索之后,从这个案例中我了解到我可以添加所需的数据注释到集合中,集合是主体

现金流

[Required]
public virtual Note Note { get; set; }
附注1.cs

public virtual CashFlow CashFlow { get; set; }

我成功地添加了一个新的迁移,但在这种方法中我唯一想改进的是添加了可为null的int列。我想问一下,如何使用数据注释实现0..1:0..1关系,该数据注释允许两端都有可为null的int

您没有实现1:1,而是实现了0..1:0..1(看起来是这样的)。真正的1:1往往无法实现(通常指向可能需要合并的两个类)@Damien_the_unsiever感谢您的帮助指出=)