Tittar på denna dokumentation
, det verkar som att du anger två motstridiga alternativ (AllowZeroDateTime=true
och ConvertZeroDateTime=true
) och en som inte verkar vara listad (ZeroDateTimeBehavior=ConvertToNull
).
Jag föreslår att om du inte har faktiska data som är DateTime.MinValue
som du inte vill blanda ihop med "noll"-värdet, du bara ange ConvertZeroDateTime=true
och upptäck om resultatet är DateTime.MinValue
. Du bör definitivt inte anrop reader.GetDateTime()
, konvertera sedan resultatet till en sträng och sedan tillbaka till en DateTime
- du bör undvika strängkonverteringar så långt du kan, eftersom de kan förstöra saker för dig ganska lätt.
Det är inte riktigt klart vilket strängvärde du vill ha för dessa "noll"-värden, men du bör kunna använda specialfall för dem med DateTime.MinValue
ganska lätt. Personligen skulle jag faktiskt försöka behålla data i sin "inhemska" form så mycket som möjligt istället för att konvertera allt till strängar, men det är en annan kamp.