使用EF Core更改非原始字段(导航)的列名称

时间:2019-09-01 21:23:06

标签: asp.net-core entity-framework-core ef-core-2.2

给出以下类别:

public class Mission
{
   private MissionCard _missionCard;
}

public class MissionCard
{

}

我想通过Fluent API创建此关系,以便将_missionCard视为一种关系,可以从DB填充它,但不能在我的Mission模型上用作属性。

我可以通过以下方式建立这种关系

modelBuilder.Entity<Mission>().HasOne<MissionCard>("_missionCard");

但是默认情况下,这会创建一个名为“ _missionCard”的FK列。文档显示,使用.Property(“ property name”)。FromField(“ field name”)时可以指定自定义名称,但不能将.Property用于非原始类型。

是否可以更改上述关系的列名?

1 个答案:

答案 0 :(得分:0)

设法通过反转关系来解决此问题:

modelBuilder.Entity<MissionCard>()
   .HasMany<Mission>()
   .WithOne("_missionCard")
   .HasForeignKey(nameof(MissionCard));