【发布时间】:2021-04-28 22:49:34
【问题描述】:
我在 PostgreSQL 中有以下表格:
entity_a:
identifier integer, --PK
name varchar(256),
entity_b integer --FK
entity_b:
identifier integer, --PK
name varchar(256)
我的模型看起来像:
[Table("entity_a")]
public class EntityA
{
[Column("identifier")]
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Identifier { get; set; }
[Column("name")]
public string Name { get; set; }
[Column("entity_b")]
[ForeignKey("EntityB")]
public EntityB EntityB { get; set; }
}
[Table("entity_b")]
public class EntityB
{
[Column("identifier")]
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Identifier { get; set; }
[Column("name")]
public string Name { get; set; }
}
当我从数据库中选择数据时,EntityA 中的EntityB 值始终是null。我只想要一种方式的关系,EntityA 知道EntityB。我做错了什么?
数据库中还设置了一个外键约束来建模关系。
我也尝试在EntityA 中创建Entity_B_Id 属性,但这仅设置Entity_B_Id 的ID,而不是实际对象(即EntityB 是null):
[Table("entity_a")]
public class EntityA
{
...
[Column("entity_b")]
[ForeignKey("EntityB")]
public int Entity_B_Id { get; set; }
public EntityB EntityB { get; set; }
}
【问题讨论】:
标签: entity-framework asp.net-core .net-core entity-framework-core asp.net-core-3.1