当我保存更改到数据库时,遇到以下异常:
相关的Code First模型属性如下所示:
我很困惑,因为据我所知,通过提供注释
那么我做错了什么呢?
注意: 1. 我不想使用Fluent-API,因为我想要使用POCOs。 2. 属性
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.
相关的Code First模型属性如下所示:
[DatabaseGenerated(DatabaseGeneratedOption.Identity), DataMember]
public DateTime Registered { get; private set; }
我很困惑,因为据我所知,通过提供注释
[DatabaseGenerated(DatabaseGeneratedOption.Identity)
,我要求Entity Framework自动生成该字段(在此情况下:仅在创建时生成一次)。因此,我预期会有一个非空的(必需的)字段,无法手动更改该字段,由EF来处理。那么我做错了什么呢?
注意: 1. 我不想使用Fluent-API,因为我想要使用POCOs。 2. 属性
defaultValueSql
也不是一个选项,因为我需要对这个项目进行独立于数据库的依赖(例如GETDATE()
)。
3. 我正在使用Entity Framework 6 alpha 3,Code First。