Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 22861|Atbildi: 0

[Avots] SqlDateTime pārpilde. Jābūt no 1/1/1753 12:00:00 AM līdz 12/31/9999

[Kopēt saiti]
Publicēts 29.06.2016 12:08:36 | | | |
SqlDateTime pārpilde. Jābūt no 1/1/1753 12:00:00 AM līdz 12/31/9999 11


Ievietojot datus ar NHibernate orm ietvaru, tika ziņots par iepriekš minēto kļūdu:

SqlDateTime pārpilde / SqlDateTime pārpilde
[Kopsavilkums: Kļūda - SqlDateTime pārpilde. Jābūt no 1/1/1753 12:00:00 AM un 12/31/9999 11:59:59 PM SqlDateTime pārpilde. Jābūt starp 1/1/1753 12:00:00 AM Karš 12/31/9999 11:59:59 PM Iemesls Lietojot C# ievietot vai atjaunināt datu bāzi, datetime word]

Kļūda - SqlDateTime pārpilde. Jābūt no 1/1/1753 12:00:00 AM līdz 12/31/9999 11:59:59 PM
SqlDateTime pārpilde. Jābūt no 1/1/1753 12:00:00 AM līdz 12/31/9999 11:59:59 PM

Cēlonis

Izmantojot C# ievietot vai atjaunināt datu bāzi, datuma/laika lauka vērtība pēc noklusējuma ir nulle. Ievietošana C# 0001-01-01 izraisa SQL servera datetime tipa pārpildi.

DateTime tipa diapazons C#

DateTime.MinValue = 1/1/0001 12:00:00 AM DateTime.MaxValue = 23:59:59.9999999, 9999. gada 31. decembris, tieši viena 100 nanosekunžu ķeksītis pirms 10000. janvāra 00:00:00
Datetime tipa diapazons SQL Server

no 1/1/1753 12:00:00 AM un 12/31/9999 23:59:59 PM


Pēc šī raksta izlasīšanas es, iespējams, kaut ko saprotu, vajadzētu būt tukšam rekvizītam, NHibernate automātiski nosaka noklusējuma vērtību, es domāju, ka tam vajadzētu būt šādam????


Pēc tam pēc sākotnēji nepiešķirtā atribūta UpdateTime piešķiršanaskonstatēja, ka nav kļūdasun pēc tam ievietojiet datu tabulu,

Tomēr mans lauks var būt tukšs, kas man jādara???

Atrodiet rekvizītu UpdateTime zem klases DateTime un iestatiet to uz DateTime?  Tas ir, ļaujiet tukšumam. (Kartētajā xml ir vislabākais, arī iestatīts uz not-null="false", šādi:)



Visbeidzot, panākumi, uzņemiet datu bāzes ekrānuzņēmumu!






Iepriekšējo:Nevarēja kompilēt kartēšanas dokumentu: xxx.hbm.xml
Nākamo:Flush izpratne par ISession NHibernate
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com