2016-03-30 15 views
0

Şu anda DATETIME alanları olan her tabloda (CreatedDate, LastUpdateDate) denetim alanları olan bir sistem oluşturuyoruz.DateTime vs DateTime2

Her iki değer de .Net kodu (EF ile) ile ayarlanır.

Hepsini DATETIME2 olarak değiştirmek için herhangi bir yararı olur mu?

Ve ...

tetikleyiciler olmadan, ben masaya yerleştirin/Güncelleme bu ayarlayabileceğiniz bir yolu var mı? GETDATE() uygulamasının 'CreatedDate' öğesine bir DEFAULT eklenmesi, bu alana yardımcı olabilir (Yine de, .Net kodu tarafından üzerine yazılabilir) ... ancak LastUpdateDate ile ne yapabilirim?

cevap

0

Tamam, bu soru bir popüler. 1. kısım cevabınız, uyumluluktan ziyade hassasiyetle ilgili daha fazlaysa, datetime özelliğini kullanacaktır. Bazı istemciler tarih, saat veya datetime2'yi desteklemez ve sizi bir dizeye dönüştürmeye zorlamaz. Bu yüzden onu akıllıca kullanın. Daha fazla datetime2 daha büyük bir aralığa sahiptir. 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/

ben düzgün sorunun ikinci kısmını anlayamıyorum üzgünüm

. Lütfen beni temizlersen.

+0

Teşekkürler. İkinci kısım daha fazla, 'Bir tetikleyici kullanmadan satır eklendiğinde veya değiştirildiğinde CREATEDATE ve LASTUPDATE' i nasıl ayarlayabilirim. – Craig

+0

Bu sorun bana gelirse, sorunu kodun sonundan çözerim. Yeni bir giriş eklediğimde, ** CreatedDate, CreatedBy, ModifiedDate, ModifiedBy ** değerini tutardım. ** İlk iki özelliği ** dolduruyorum ve ikinci ikisi de ** null ** değerini alabilir. Nesneyi günceller veya değiştirirsem sonra ikinci iki özelliği güncellerim. ** Hepsi bu – bluetoothfx