Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 22861|Yanıt: 0

[Kaynak] SqlDateTime overflow. 1/1/1753 00:00:00 ile 31/12/9999 arasında olmalı

[Bağlantıyı kopyala]
Yayınlandı 29.06.2016 12:08:36 | | | |
SqlDateTime overflow. 1/1/1753 00:00:00 ile 31/12/9999 11 arasında olmalı


NHibernate orm çerçevesiyle veri eklendiğinde, yukarıdaki hata bildirildi:

SqlDateTime overflow / SqlDateTime overflow
[Özet: Hata - SqlDateTime taşması. 1/1/1753 00:00:00 ile 31/12/9999 23:59:59 SqlDateTime taşması arasında olmalı. 1/1/1753 00:00:00 arasında olmalı Savaş 31/12/9999 23:59:59 Neden C# uygularken veritabanını ekle veya güncellele, tarih saati kelimesi]

Hata - SqlDateTime taşması. 1/1/1753 00:00:00 ile 31/12/9999 23:59:59 arasında olmalı
SqlDateTime overflow. 1/1/1753 00:00:00 ile 31/12/9999 23:59:59 arasında olmalı

Neden

C# veritabanını ekleme veya güncelleme kullanıldığında, tarih saati alanı değeri varsayılan olarak null olur ve C# 0001-01-01 sql sunucu tarih zaman türü taşmasına neden olur.

DateTime tip aralığı C#

DateTime.MinValue = 1/1/0001 00:00:00 DateTime.MaxValue = 23:59:59.999999, 31 Aralık 9999, tam olarak 00:00:00, 1 Ocak 10000 öncesinde bir 100 nanosaniyelik tik
Sql Server'da tarih saati tür aralığı

1/1/1753 00:00:00 ile 31/12/9999 23:59:59 arasında


Bu makaleyi okuduktan sonra muhtemelen bir şey anladım, boş bir özellik olmalı, NHibernate otomatik olarak varsayılan değeri belirliyor, bence böyle olmalı????


Sonra, başlangıçta atanan UpdateTime özniteliği atandıktan sonra,hata olmadığını buldu, ve ardından veri tablosunu ekledim,

Ancak alanım boş olabilir, ne yapmalıyım???

DateTime sınıfı altında UpdateTime özelliğini bulup DateTime olarak mı ayarlayın?  Yani, boşluğa izin ver. (Eşlenmiş xml en iyisidir, ayrıca not-null="false" olarak ayarlanmıştır, aşağıdaki gibi:)



Sonunda başarı, veritabanının ekran görüntüsünü alın!






Önceki:Eşleme belgesini derlenemedi: xxx.hbm.xml
Önümüzdeki:NHibernate'de ISession'un tam anlamıyla anlaşılması
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com