如何将SQL DateTime Null转换为c#'DateTime?' (可空<日期时间>)?</日期时间>

时间:2015-04-17 13:48:30

标签: c# sql .net sql-server datetime

当数据库值'CompletionDate'为Null时。我收到错误:指定演员无效

我想过使用'DateTime?'带问号可以让这个演员工作。

有什么建议吗?

public class Application
{
    public int Id;
    public DateTime? CompletionDate;

    private static Application LoadFromDatabase(int id)
    {
        DataRow dr = null; // Loaded from database

        return new Application()
        {
            Id = (int) dr["ApplicationId"],
            CompletionDate = (DateTime?)dr["CompletionDate"]
        };
    }
}

1 个答案:

答案 0 :(得分:1)

我通常使用三元运算符。这是一个例子:

CompletionDate = !dr.IsNull("CompletionDate") ? (DateTime)dr["CompletionDate"] : new DateTime?();