Невозможно получить ответ JSON, если DateTime имеет значение NULL

У меня есть база данных sql. В sql тип столбца является датой и временем, допускающим значение null, но в С# сущности определяются только как дата и время.

Если dateTime имеет значение null, ответ в формате xml не вызывает проблем, но ответ в формате json вызывает проблемы. Если я изменяю datetimes на datetime? ответ, поскольку формат json работает, но это плохо влияет на другие объекты.

Как я могу решить эту проблему? Спасибо.


person user3309441    schedule 25.03.2014    source источник
comment
В базе данных sql, datetime nullable, вы имеете в виду разрешить null в столбце datetime?   -  person Faizan Mubasher    schedule 25.03.2014
comment
Да, он может быть нулевым.   -  person user3309441    schedule 25.03.2014
comment
Как мы узнаем, что представляют собой другие ваши объекты и как на них влияет значение nullable datetime ?   -  person Shaharyar    schedule 25.03.2014
comment
Здесь много классов и много элементов управления. Поэтому я не могу написать их здесь. В xml я вижу дату и время 0001-01-01T00:00:00, когда она равна нулю. Но в json выдает ошибку. Это моя проблема. Должно быть что-то о DateTime для [WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]   -  person user3309441    schedule 25.03.2014
comment
stackoverflow.com/questions/21960682/   -  person Faizan Mubasher    schedule 25.03.2014


Ответы (1)


Я думаю, проблема в том, что сериализатор json отправляет дату как 0001-01-01T00:00:00 UTC, что может создать проблемы, когда вы десериализуете ее с машины в часовом поясе впереди UTC.

Попробуйте решение в этой теме и посмотрите, поможет ли оно: Почему DateTime.MinValue нельзя сериализовать в часовых поясах раньше UTC?

person mh__    schedule 25.03.2014