Итак, прежде всего. Код:
У меня есть класс:
public class Myobject
{
public string Code { get; set; }
public DateTime? StartDate { get; set; }
}
И это часть очень простого источника:
MyObject mo = new MyObject();
mo.Code= "sth";
// NO action on StartDate property!
if (mo.StartDate.HasValue)
{
sc.Parameters.Add(new SqlParameter("@inStartDate", mo.StartDate.Value));
}
else
{
sc.Parameters.Add(new SqlParameter("@inStartDate", DBNull.Value));
}
Простое 'if' - Sql Server 2008, выдавать ошибку - когда получает значение Datetime (значение должно быть DBNull.Value)
Поэтому я хочу сначала проверить это, а затем передать правильное значение или DBNull.
Моя проблема в том, что «если» всегда повторяет истину! Зачем!?
Также пробовал это:
if (mo.StartDate.Value == null)
но всегда возвращает false. Почему это не ноль? Он даже не был создан ..
Итак .. Как проверить, не был ли назначен объект DateTime?