NHibernate, MySQL .NET Connector e Nullable DateTime

December 5 2006

solo un post veloce per mostrare una soluzione ad un problema che mi ha visto impegnato questo pomeriggio.
è il caso dell’utilizzo di un DB MySQL via NHibernate, usando il Connector fornito dalla stessa MySQL.

ho avuto problemi con tables in cui compaiono campi datetime, per la nota incompatibilità tra .NET e MySQL. sul sito NHB stesso, alla descrizione del supporto per questo DBMS si avvisa dei possibili problemi dovuti alla “unique feauture” di usare come NULL il valore 0000-00-00 etc. etc.

quello che non mi piaceva erano le soluzioni proposte, visto che per la prima (evitare date nulle) non potevo farci nula non avendo possibilità di cambiare lo schema dati, per le altre due si trattava di ricompilare qualche parte dell’ambiente di persistenza (il Connector o introdurre un tipo utente).
dopo un bel po’ di ricerche sono giunto a questa soluzione, che per me lavora bene: nella documentazione del Connector infatti è segnalata la feature che permette di gestire come nulle le date del tipo 0000-00-00 e quelle mal formattate (in sostanza, la seconda soluzione, ma fatta dagli sviluppatori di MySQL!), solo che non è segnalato che bisogna attivarla aggiungendo nella stringa di connessione l’opzione:
Convert Zero Datetime=true
che invece è documentata qui:

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: