Сохранение нулевой даты в SQL2008 через. SubSonic 2.x - PullRequest
0 голосов
/ 11 марта 2011

Хорошо, поэтому я пытаюсь установить для столбца datetime значение null через SubSonic 2.x

DateTime? dt = new DateTime();
dt= null;
Datum pd = (new DatumCollection()
                    .Where(Datum.Columns.Data, cp[0].Data)
                    .Load())[0];

                pd.dtAcceptance = (DateTime)dt;
                pd.Save();

Даже если столбец базы данных допускает нулевое значение, он не будет сохранен, и япопробовал несколько других опций, в том числе установив его в DateTime.MinValue (01.01.0001 - слишком ранняя дата, я думаю).Я получаю 'Nullable объект должен иметь значение'

Я искал здесь и в Google какую-то волшебную пулю, чтобы исправить то, что я считаю довольно глупой проблемой.Есть ли что-то в поколении SubSonic, которое мне нужно изменить, чтобы оно работало, или мне нужно написать какой-то глупый триггер на стороне SQL, который, если приходит дата с '01.01.1900', чтобы изменить его на NULL?

помогите и спасибо!

стек: «Обнуляемый объект должен иметь значение».в System.ThrowHelper.ThrowInvalidOperationException (ресурс ExceptionResource) в System.Nullable`1.get_Value () в Services.Decision.OnDecline (Int32 nParticipantID, Int32 nSessionID) в C: \ dev \ app \ server \ Services \ Decision.cs: строка426

1 Ответ

1 голос
/ 11 марта 2011

Ааа.Вы приводите dt к DateTime, но вам нужно привести его к обнуляемому DateTime (DateTime?)

...