Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Objeto anulável deve ter um valor #2


Como você disse, o tipo de dados de u.LastLogon é DateTime? . Isso significa que pode ou não ter um valor. Ao transmitir para DateTime , você está exigindo que ele tenha um valor. Neste caso, não.

Dependendo do que você está tentando fazer com ele, você pode querer verificar o HasValue propriedade:
userRow["LastLogon"] = u.LastLogin.HasValue ? 
                       (object) u.LastLogin.ToShortDateString() : DBNull.Value;

Se seu banco de dados LastLogon coluna é do tipo DateTime, então você deve ser capaz de fazer:
userRow["LastLogon"] = u.LastLogin.HasValue ? 
                       (object) u.LastLogin.Value : DBNull.Value;