Как сделать минимальную дату совместимой для .NET и SQL Server 2005 - PullRequest
3 голосов
/ 14 декабря 2011

У меня есть приложение в .NET 3.5 и SQL Server 2005.

В моем приложении много примеров, когда у пользователя запрашивается дата.Там я обнаружил ошибку, что всякий раз, когда пользователь вводит дату меньше 01/01/1753, он выдает следующую ошибку:

SqlDateTime переполнение.Должно быть между 01.01.1753 12:00:00 и 31.12.9999 23:59:59.

Когда я детализирую ошибку, я обнаружил, что .NET поддерживаетдаты от 01/01/0001 до 12/31/9999, тогда как SQL Server 2005 поддерживает диапазон дат от 01/01/1753 до 12/31/9999.

Теперь мне нужно проверить в моем приложении минимальную дату.

Но проблема в том, что мне приходится реализовывать его во многих случаях, поэтому нужно найти какое-то лучшее решение.

Может кто-нибудь подсказать мне, как решить эту проблему с датой.

Заранее спасибо

1 Ответ

5 голосов
/ 14 декабря 2011

Возможно, это поможет вам получить действительный SQL DateTime easy

public static class Extensions
{
    public static DateTime AsSqlValue(this DateTime date)
    {
        if(date < SqlDateTime.MinValue.Value)
            return SqlDateTime.MinValue.Value;
        return date;
    }
}

Использование

MyDateTime.AsSqlValue();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...