CreatedDate
モデルのエンティティにプロパティを追加しようとしていて、EF5 Code First を使用しています。この日付を一度設定したら変更しないようにしたいのですが、UTC の日付にしたいのです。プロパティを含む抽象クラスから継承したいモデルに多くのエンティティがありCreatedDate
、インターフェイスでコンストラクターを強制できないため、コンストラクターを使用したくありません。
さまざまなデータ注釈を試し、特定のエンティティ型を取得して正しいandのgetdate()
デフォルト値を持つ変更制約を書き込むデータベース初期化子を作成しようとしましたが、そのコードを正しく作成できませんでした。table_name
column_name
AuditDbContext - Entity Framework Auditing ContextまたはEntityFramework.Extendedツールについては紹介しないでください。これらのツールは、私がここで必要とすることを実行しないためです。
アップデート
ViewModel を自分のビューに渡しているため、MyCreatedDate
は null になっています。ビューには監査プロパティが正しく呼び出されていません。モデルを自分のビューに渡したとしても、ビューで編集したり保存したりしていません。SaveChanges()
CreatedDate
CreatedDate
ここで、 を追加できることを読みました。[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
これにより、挿入と更新の後に を正しく保存するように EF に指示CreatedDate
されますが、アプリケーションで変更することはできません。ただし、Cannot insert explicit value for identity column in table when IDENTITY_INSERT is set to OFF
この属性を追加するとエラーが発生します。
この単純なデータベース要件を Code First で実装するのはばかげているため、EF Model First に切り替えようとしています。