与导航同名的列没有 ID 的外键 属性

Foreign Key with no Ids for column with same name as navigational property

我有以下 tables.

CREATE TABLE Thing
(
    Id INT PRIMARY KEY IDENTITY(1, 1),
    CreatedByUser INT NOT NULL
)
 
CREATE TABLE User
(
    Id INT PRIMARY KEY IDENTITY(1, 1)
)

我有以下 EF 实体,它们(有意地)定义为没有 Id 的导航 属性。

public class Thing
{
    public int Id { get; set; }
 
    public User CreatedByUser { get; set; }
}
 
public class User
{
    public int Id { get; set; }
}

我想知道当 table 上的基础 Id 字段与导航同名时如何定义外键关系 属性 我想包含在实体模型中。 以下示例无法找到名称为 CreatedByUser_Id 的数据库列。

modelBuilder.Entity<Thing>()
  .HasOne(x => x.CreatedByUser)
  .WithMany()
  .HasForeignKey("CreatedByUser_Id")
  .IsRequired();

谢谢

已通过以下方式修复。

modelBuilder.Entity<Thing>()
    .HasOne(x => x.CreatedByUser)
    .WithMany()
    .HasForeignKey("CreatedByUser_Id")
    .IsRequired();

modelBuilder.Entity<Thing>()
    .Property("CreatedByUser_Id")
    .HasColumnName("CreatedByUser");