Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Não é possível converter MySQL.DateTime para System.DateTime com valores 0000-00-00 00:00:00


Olhando esta documentação , parece que você está especificando duas opções contraditórias (AllowZeroDateTime=true e ConvertZeroDateTime=true ) e um que parece não estar listado (ZeroDateTimeBehavior=ConvertToNull ).

Sugiro que, a menos que você tenha dados reais que sejam DateTime.MinValue que você não quer misturar com o valor "zero", você apenas especifique ConvertZeroDateTime=true e detectar se o resultado é DateTime.MinValue . Você definitivamente não deveria chame reader.GetDateTime() , converta o resultado em uma string e, em seguida, volte para um DateTime - você deve evitar conversões de strings o máximo que puder, pois elas podem atrapalhar as coisas com bastante facilidade.

Não está muito claro qual valor de string você deseja para esses valores "zero", mas você deve poder transformá-los em maiúsculas e minúsculas com DateTime.MinValue com bastante facilidade. Pessoalmente, eu tentaria manter os dados em sua forma "nativa" o máximo possível, em vez de converter tudo em strings, mas essa é uma batalha diferente.