當我將更改保存到數據庫中,我運行到以下異常:實體框架6碼首先在插入默認datetime值
Cannot insert the value NULL into column 'Registered', table
'EIT.Enterprise.KMS.dbo.LicenseEntry'; column does not allow nulls.
INSERT fails. The statement has been terminated.
相關守則第一個模型屬性如下:
[DatabaseGenerated(DatabaseGeneratedOption.Identity), DataMember]
public DateTime Registered { get; private set; }
...這是爲什麼我很困惑:據我所知,通過提供註解[DatabaseGenerated(DatabaseGeneratedOption.Identity)
我命令實體框架自動生成的場(在這種情況下:在創建時只有一次)
所以我期待有一個不可空(必填)的字段,而不可能在EF正在處理的地方手動修改字段。
我在做什麼錯?
注:
- 我不想用流利的API,因爲我想使用波蘇斯。
- 屬性
defaultValueSql
也不是一個選項,因爲我需要依賴數據庫爲此項目獨立(例如對於GETDATE()
)。 - 我使用實體框架6 alpha 3,Code First。
AutoGenerate也是您的主鍵嗎?如果是這樣,您需要指定[key]註釋。 – Botonomous
不,這只是一個屬性。 – Atrotygma
我不相信DateTime數據類型支持標識字段屬性。 – marcellscarlett