Come hai detto, il tipo di dati di u.LastLogon
è DateTime?
. Ciò significa che può avere o meno un valore. Trasmettendo a DateTime
, si richiede che abbia un valore. In questo caso, non è così.
A seconda di cosa stai cercando di fare con esso, potresti voler controllare HasValue
proprietà:
userRow["LastLogon"] = u.LastLogin.HasValue ?
(object) u.LastLogin.ToShortDateString() : DBNull.Value;
Se il tuo database LastLogon
la colonna è di tipo DateTime, quindi dovresti essere in grado di fare:
userRow["LastLogon"] = u.LastLogin.HasValue ?
(object) u.LastLogin.Value : DBNull.Value;