あなたが言ったように、u.LastLogon
のデータ型 DateTime?
。これは、値がある場合とない場合があることを意味します。 DateTime
にキャストする 、あなたはそれに値を持っていることを要求しています。この場合、そうではありません。
何をしようとしているのかによっては、HasValue
を確認することをお勧めします。 プロパティ:
userRow["LastLogon"] = u.LastLogin.HasValue ?
(object) u.LastLogin.ToShortDateString() : DBNull.Value;
データベースがLastLogon
の場合 列がDateTimeタイプの場合、次のことができるはずです。
userRow["LastLogon"] = u.LastLogin.HasValue ?
(object) u.LastLogin.Value : DBNull.Value;