2
我有這樣一個模型:實體框架:代碼優先 - 列映射
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。
當我嘗試創建一個實體的實體,這是例外,我得到: Invalid column name 'ParentEntity_EntityId'.
我不知道爲什麼EF被採摘約定該特定列,但如果我這樣做:
[Column("TryPickThisName")]
public virtual int? ParentEntityId { get; set; }
與「TryPickThisName」列名顯示相同的錯誤。最後,如果我正確寫入列名或刪除該屬性,它將顯示原始錯誤消息。
謝謝您的答覆。我已經添加了屬性,它的工作原理。 – Esteban
我的理解是虛擬關鍵字是用於實體和延遲加載。我注意到這是關鍵,也許是不必要的?顯然,我沒有意識到一些目的。 –