[NHibernate/MS-SQL] DateTime krijgt foute waarde bij DB NULL

Pagina: 1
Acties:

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ik heb de volgende NHibernate mapping:
code:
1
2
3
<property name="VervalDatum" type="DateTime">
  <column name="Expired" not-null="false" />
</property>


En deze mapt naar het volgende MS-SQL veld:
code:
1
[Expired] [datetime] NULL,


Als er in Expired een NULL waarde staat krijgt mijn VervalDatum property de waarde 1-1-0001 0:00:00 en niet de waarde null. Iemand enig waardoor dit komt?

It’s nice to be important but it’s more important to be nice


  • whoami
  • Registratie: December 2000
  • Laatst online: 13-02 22:55
Omdat een DateTime veld een value-type is, en value-types niet nullable zijn in .NET 1.x
In .NET 2.0 kan een DateTime wel NULL bevatten, echter, ik weet niet vanbuiten in hoeverre NHibernate nullable types ondersteund. Ik weet dat ze er mee bezig zijn, maar ik weet niet vanaf welke versie ze ondersteund worden.

https://fgheysels.github.io/


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
whoami schreef op dinsdag 26 september 2006 @ 09:57:
Omdat een DateTime veld een value-type is, en value-types niet nullable zijn in .NET 1.x
Inderdaad helemaal vergeten.
In .NET 2.0 kan een DateTime wel NULL bevatten, echter, ik weet niet vanbuiten in hoeverre NHibernate nullable types ondersteund.
Ik gebruik .NET 2.0 maar op zich kan ik wel tegen de 1-1-0001 0:00:00 waarde checken om te controleren op een database veld NULL. Dit soort onzinnige datums zullen namelijk niet ingevoerd gaan worden als waarde. Het is wel een beetje vies maar ik denk niet dat ik dit op een andere manier kan oplossen.

It’s nice to be important but it’s more important to be nice


  • whoami
  • Registratie: December 2000
  • Laatst online: 13-02 22:55
Misschien even kijken of NHibernate al nullable types ondersteund ?

https://fgheysels.github.io/


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Zal eens wat expirementeren. Maar je zegt in .NET 2.0 kan een DateTime wel NULL bevatten. Is hier dan een speciaal reference type voor beschikbaar? Ik kan dat zo even niet vinden.

It’s nice to be important but it’s more important to be nice


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
pjonk schreef op dinsdag 26 september 2006 @ 11:05:
Zal eens wat expirementeren. Maar je zegt in .NET 2.0 kan een DateTime wel NULL bevatten. Is hier dan een speciaal reference type voor beschikbaar? Ik kan dat zo even niet vinden.
Visual Basic .NET:
1
Dim foo As Nullable(Of DateTime)


C#:
1
DateTime? foo;


:w whoami :>

[ Voor 6% gewijzigd door RobIII op 26-09-2006 11:17 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • whoami
  • Registratie: December 2000
  • Laatst online: 13-02 22:55
pjonk schreef op dinsdag 26 september 2006 @ 11:05:
Zal eens wat expirementeren. Maar je zegt in .NET 2.0 kan een DateTime wel NULL bevatten. Is hier dan een speciaal reference type voor beschikbaar? Ik kan dat zo even niet vinden.
Een value type 'definieer' je als nullable door een ? te gebruiken:


C#:
1
DateTime? nullableDateTime;

Gewoon even zoeken op Nullable types.

[ Voor 4% gewijzigd door whoami op 26-09-2006 11:16 ]

https://fgheysels.github.io/


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
In onderstaand artikel heb ik wat informatie gevonden over nullable types in NHibernate
http://blog.benday.com/archive/2005/12/10/3526.aspx

Blijf zelf voorlopig even met de standaard types werken aangezien de nood voor mij niet zo hoog is.

It’s nice to be important but it’s more important to be nice

Pagina: 1