与导航同名的列没有 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");
我有以下 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");