Обработка DateTime DBNull

Я видел многих, много версий этого на Так, но ни один из них, кажется, вполне не работает на мои потребности.

Мои данные прибывают из базы данных поставщика, которая позволяет пустой указатель для полей DateTime. Сначала я вытягиваю свои данные в DataTable.

using (SqlCommand cmd = new SqlCommand(sb.ToString(), conn))
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
    da.Fill(dt);
}

Я преобразовываю DataTable в Список <> для обработки.

var equipment = from i in dt.AsEnumerable()
    select new Equipment()
    {
        Id = i.Field<string>("ID"),
        BeginDate = i.Field<DateTime>("BeginDate"),
        EndDate = i.Field<DateTime>("EndDate"),
        EstimatedLife = i.Field<double>("EstimatedLife")
    }

Так, как я проверяю на DBNull в этом экземпляре? Я пытался записать метод.

    public DateTime CheckDBNull(object dateTime)
    {
        if (dateTime == DBNull.Value)
            return DateTime.MinValue;
        else
            return (DateTime)dateTime;
    }
8
задан abatishchev 20 October 2010 в 14:20
поделиться