Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF核心一对零关系单向_C#_Entity Framework Core - Fatal编程技术网

C# EF核心一对零关系单向

C# EF核心一对零关系单向,c#,entity-framework-core,C#,Entity Framework Core,一对一的关系只能以一种方式建立吗 public class Class1 { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Class1Id { get; set; } ... } public class Class2 { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public

一对一的关系只能以一种方式建立吗

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; }

   ...
}
配置如下所示

public void Configure(EntityTypeBuilder<Class2> builder)
{
   builder.ToTable("...");

   builder.HasOne(m => m.Relationship)
     .WithOne()
     .HasForeignKey<Class1>(a => a.Class1Id);
}
public void配置(EntityTypeBuilder)
{
建筑商。ToTable(“…”);
builder.HasOne(m=>m.Relationship)
.WithOne()
.HasForeignKey(a=>a.classaid);
}
但是,当我试图在Class2的一个实例中检查这种关系时,我发现了一些错误。RelationshipId有一个值,Relationship.ClassId有一个不同的值。Relationship.ClassID与Class2Id具有相同的值

Class1是否也需要具有Class2类型的属性才能使EF Core正常工作

Class1是否也需要具有Class2类型的属性才能使EF Core正常工作

否。错误在FK映射中:

.HasForeignKey<Class1>(a => a.Class1Id)

非常感谢你。我想我在看作者和作者传记的例子时会感到困惑,并且混淆了课程
builder.HasOne(e => e.Relationship)
    .WithOne()
    .HasForeignKey<Class2>(e => e.RelationshipId);
//                   ^                 ^
//                  (1)               (2)