Anstatt die Verbindungszeichenfolge zu ändern, können Sie die IsValidDateTimeEigenschaft des MySqlDateTimeObjekts verwenden, um festzustellen, ob Sie das Objekt als umwandeln können DateTime.
Ich hatte ein Szenario, in dem ich versuchte, Daten aus einer "UpdateTime" -Spalte zu laden, die nur explizit festgelegt wurde, wenn die Zeile aktualisiert wurde (im Gegensatz zu InsertedTime, die immer festgelegt wurde). In diesem Fall habe ich die MySqlDataReader.GetMySqlDateTimeMethode folgendermaßen verwendet:
using (MySqlDataReader reader = await MySqlHelper.ExecuteReaderAsync(...))
{
if (await reader.ReadAsync())
{
DateTime? updateTime = reader.GetMySqlDateTime("UpdateTime").IsValidDateTime ? (DateTime?)reader["UpdateTime"] : null;
}
}