【发布时间】:2012-09-17 16:37:49
【问题描述】:
我有一个这样的模型:
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”列名称显示相同的错误。最后,如果我正确写入列名或删除属性,它将显示 original 错误消息。
【问题讨论】:
标签: entity-framework ef-code-first