2016-03-30 15 views
0

すべてのテーブル(CreatedDate、LastUpdateDate)に監査フィールドがあり、現在はDATETIME個のフィールドを持つシステムを構築しています。DateTimeとDateTime2

両方の値は.Netコード(スルーEF)で設定されます。

すべてをDATETIME2に変更するとどんなメリットがありますか?

そして...

のトリガーがなければ、私はテーブルの上に挿入/更新にこれらを設定することができます方法はありますか? 'CreatedDate'にGETDATE()のDEFAULTを追加すると、そのフィールドに役立ちます(ただし、.Netコードでも上書きできます)...しかし、LastUpdateDateで何ができますか?

答えて

0

この質問はよくある質問です。あなたの第一の答えは、精度よりも互換性についてもっと気になっているなら、datetimeを使用します。 一部のクライアントは、日付、時刻、またはdatetime2をサポートしていないため、文字列に変換する必要があります。だから賢明に使ってください。 datetime2以上に大きな範囲があります。

SQL Server datetime2 vs datetime https://technet.microsoft.com/en-us/library/bb677335.aspx http://sqlhints.com/2011/09/17/difference-between-datetime-and-datetime2-datatype/

私はきちんとあなたの質問の後半部分を理解することはできませんごめんなさい。もしあなたが私をクリアしてください。

+0

ありがとうございました。 2番目の部分は、「行が追加または変更されたときにトリガーを使用せずにCREATEEDおよびLASTUPDATEを設定するにはどうすればよいですか? – Craig

+0

この問題が私に当てはまる場合、私はコードの終わりから問題を解決します。私は** CreatedDate、CreatedBy、ModifiedDate、ModifiedBy **を保持していました**新しいエントリを挿入するとき* **最初の2つのプロパティ**を記入し、2番目の2つは** null **を取ることができます。その後、オブジェクトを更新または変更すると、** 2つ目の2つのプロパティが更新されます。**すべてです – bluetoothfx

関連する問題