如何使最小日期与.NET和SQL Server 2005兼容

Sum*_*pta 3 .net sql-server-2005

我在.NET 3.5和SQL Server 2005中有一个应用程序.

我的应用程序中有很多实例要求用户提供日期.在那里我发现一个错误,每当用户输入的日期小于01/01/1753它时会出现以下错误:

SqlDateTime溢出.必须在1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之间.

当我深入的错误,我发现.NET从支持日期01/01/000112/31/9999,而SQL Server 2005支持的日期范围01/01/175312/31/9999.

现在我需要检查我的申请中的最短日期.

但问题是我必须在很多实例中实现它,所以找到一些更好的解决方案.

谁能告诉我反过来处理这个日期问题.

提前致谢

Mag*_*nus 5

也许这可以帮助您轻松获得有效的SQL DateTime

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

用法

MyDateTime.AsSqlValue();
Run Code Online (Sandbox Code Playgroud)