只能以一种方式创建一对一关系吗?
public class Class1
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Class1Id { get; set; }
...
}
public class Class2
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Class2Id { get; set; }
public int? RelationshipId { get; set; }
public virtual Class1 Relationship { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
而且配置看起来像这样
public void Configure(EntityTypeBuilder<Class2> builder)
{
builder.ToTable("...");
builder.HasOne(m => m.Relationship)
.WithOne()
.HasForeignKey<Class1>(a => a.Class1Id);
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试检查Class2实例中的Relationship时,出现了问题。RelationshipId具有一个值,而Relationship.Class1Id具有不同的值。Relationship.Class1Id与Class2Id具有相同的值。
为了让EF Core正常工作,Class1是否还需要具有Class2类型的属性?