我有一个这样的模型:
public class Entity
{
[Key, Required]
public virtual long EntityId { get; set; }
[Required]
public virtual string Name { get; set; }
public virtual long? ParentEntityId { get; set; }
}
这是我的桌子:
create table Entities(
EntityId bigint not null identity(1, 1),
Name nvarchar(64) not null,
ParentEntityId bigint null
)
ParentEntityId 是 EntityId 的外键。
当我尝试创建一个 Entity 实体时,这是我得到的异常:
Invalid column name 'ParentEntity_EntityId'.
我不知道为什么 EF 为该特定列选择该约定,但如果我这样做:
[Column("TryPickThisName")]
public virtual int? ParentEntityId { get; set; }
“TryPickThisName”列名显示相同的错误。最后,如果我正确写入列名或删除属性,它将显示原始错误消息。