Jak już powiedziałeś, typ danych u.LastLogon
to jest DateTime?
. Oznacza to, że może mieć wartość lub nie. Przesyłając do DateTime
, wymagasz, aby miał wartość. W tym przypadku tak nie jest.
W zależności od tego, co próbujesz z tym zrobić, możesz sprawdzić HasValue
właściwość:
userRow["LastLogon"] = u.LastLogin.HasValue ?
(object) u.LastLogin.ToShortDateString() : DBNull.Value;
Jeśli twoja baza danych LastLogon
kolumna jest typu DateTime, powinieneś być w stanie wykonać:
userRow["LastLogon"] = u.LastLogin.HasValue ?
(object) u.LastLogin.Value : DBNull.Value;