Osservando questa documentazione
, sembra che tu stia specificando due opzioni contraddittorie (AllowZeroDateTime=true
e ConvertZeroDateTime=true
) e uno che sembra non essere elencato (ZeroDateTimeBehavior=ConvertToNull
).
Lo suggerisco a meno che tu non abbia dati effettivi che sono DateTime.MinValue
che non vuoi confondere con il valore "zero", tu solo specifica ConvertZeroDateTime=true
e rileva se il risultato è DateTime.MinValue
. Sicuramente non dovresti chiama reader.GetDateTime()
, quindi converti il risultato in una stringa e poi di nuovo in un DateTime
- dovresti evitare il più possibile le conversioni di stringhe, poiché possono rovinarti le cose abbastanza facilmente.
Non è molto chiaro quale valore di stringa desideri per questi valori "zero", ma dovresti essere in grado di utilizzarli in casi speciali con DateTime.MinValue
abbastanza facilmente. Personalmente proverei effettivamente a mantenere i dati nella loro forma "nativa" il più possibile piuttosto che convertire tutto in stringhe, ma questa è una battaglia diversa.