Ser på denne dokumentation
, det ser ud til, at du angiver to modstridende muligheder (AllowZeroDateTime=true og ConvertZeroDateTime=true ) og en, der ser ud til ikke at være opført (ZeroDateTimeBehavior=ConvertToNull ).
Det foreslår jeg, medmindre du har faktiske data, som er DateTime.MinValue som du ikke vil blande sammen med "nul"-værdien, du bare angiv ConvertZeroDateTime=true og find ud af, om resultatet er DateTime.MinValue . Det burde du bestemt ikke kald reader.GetDateTime() , konverter derefter resultatet til en streng og derefter tilbage til en DateTime - du bør undgå strengkonverteringer, så vidt du kan, da de ret nemt kan ødelægge tingene for dig.
Det er ikke rigtig klart, hvilken strengværdi du vil have for disse "nul"-værdier, men du burde være i stand til at angive dem i særlige tilfælde med DateTime.MinValue ret nemt. Personligt ville jeg faktisk prøve at holde dataene i deres "native" form så meget som muligt i stedet for at konvertere alt til strenge, men det er en anden kamp.