私のアプリケーションでは、EF6 データベースが最初に使用されていますアプローチです。データベース内のすべてのエンティティには、2つの共通プロパティ "CreatedDateTime"と "ModifiedDateTime"があります。Entity Framework 6の共通プロパティを暗黙的に設定しました
現在、私はSaveChanges()を使って、新しいエンティティを作成したり、既存のエンティティを更新している場合に、これらの2つのプロパティを明示的に設定します。
新しいエンティティが両方のプロパティを設定している場合は、それ以外の場合はModifiedDateTimeプロパティのみを設定します。
保存または更新操作でこれらの2つのプロパティを暗黙的に設定する方法があるかどうかを知りたかったのですが、
アップデート1
私は私がここでの本当の問題は、SaveChangesメソッドは、これら2つのプロパティへのアクセス権を持っている必要があるただしのSaveChanges()メソッドをオーバーライドする必要があります知っています。したがって、ここでは2つのオプションしか表示されません。
1エンティティにこれらのプロパティが設定されているかどうかを確認するためにリフレクションを使用します。
2>既定のT4世代を変更して、インターフェイスが定義済みのすべてのエンティティを派生させるようにします。そして、このインターフェイスは、これら2つのプロパティを持ちます。 SaveChanges()メソッドは、エンティティがこのインタフェースから派生しているかどうかをチェックし、プロパティを設定できます。
私は挑戦的にオプション1を使用したくないです。
DBの最初のアプローチでこれまでに他の方法がありましたか?あなたの第二のアプローチで行く
http://stackoverflow.com/a/7041363/106866およびhttp://stackoverflow.com/a/7041323/106866 – jao
を参照してください。最初のコードではなく、データベースの最初のアプローチ – LP13
データベースでトリガーを設定することもできます – jao