sql >> Base de Datos >  >> RDS >> Sqlserver

El objeto anulable debe tener un valor #2

Como dijiste, el tipo de datos de u.LastLogon es DateTime? . Esto significa que puede o no tener un valor. Transmitiendo a DateTime , está requiriendo que tenga un valor. En este caso, no.

Dependiendo de lo que intente hacer con él, es posible que desee verificar el HasValue propiedad:

userRow["LastLogon"] = u.LastLogin.HasValue ? 
                       (object) u.LastLogin.ToShortDateString() : DBNull.Value;

Si su base de datos LastLogon la columna es del tipo DateTime, entonces debería poder hacer:

userRow["LastLogon"] = u.LastLogin.HasValue ? 
                       (object) u.LastLogin.Value : DBNull.Value;