对于与导航属性同名的列,不带ID的外键



我有以下表格。

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

我想知道当表上的基础Id字段与我希望包含在实体模型中的导航属性同名时,如何定义外键关系以下示例找不到名为CreatedByUser_Id的db列

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");

最新更新