Разглеждайки тази документация
, изглежда, че посочвате две противоречиви опции (AllowZeroDateTime=true
и ConvertZeroDateTime=true
) и такъв, който изглежда не е в списъка (ZeroDateTimeBehavior=ConvertToNull
).
Предлагам го, освен ако нямате действителни данни, които са DateTime.MinValue
които не искате да смесвате с "нулевата" стойност, вие просто посочете ConvertZeroDateTime=true
и открийте дали резултатът е DateTime.MinValue
. Определено не трябва извикайте reader.GetDateTime()
, след това преобразувайте резултата в низ и след това обратно в DateTime
- трябва да избягвате конвертирането на низове, доколкото можете, тъй като те могат да объркат нещата за вас доста лесно.
Не е много ясно каква стойност на низа искате за тези "нулеви" стойности, но би трябвало да можете да ги поставяте в специален случай с DateTime.MinValue
сравнително лесно. Лично аз всъщност бих се опитал да запазя данните в тяхната „родна“ форма колкото е възможно повече, вместо да преобразувам всичко в низове, но това е различна битка.