Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

L'oggetto nullable deve avere un valore #2

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;