データベースに変更を保存しているときに、次の例外が発生します。
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)
Entity Frameworkにフィールドを自動生成するように命令しています(この場合:作成時に1回のみ)。
したがって、EFが処理しているフィールドを手動で変更する可能性なしに、null不可(必須)フィールドを持つことを期待しています。
私は何を間違っていますか?
ノート:
- POCO を使用したいので、Fluent-API を使用したくありません。
defaultValueSql
このプロジェクトにはデータベースに依存しない必要があるため(たとえば、 )、プロパティもオプションではありませんGETDATE()
。- Entity Framework 6 alpha 3、Code First を使用しています。