entity framework – SQL Server 2005 – IIS服务器日期时间问题

我正在使用MVC3和Entity Framework。 在我的应用程序中,我需要通过EF调用SQL Server 2005中的存储过程,以根据传递的datetime参数搜索某些数据。

一切似乎都在当地环境中运作良好。 但是在将其托管到IIS之后,我在尝试从13-08-2012开始搜索时遇到exception(13我想在SQL中作为月份)

错误说

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

我理解错误是因为System.DatetimeSqlDatetime之间的日期时间格式之间的SqlDatetime

但我不明白为什么它在我的本地环境中使用相同的SQL Server没有任何问题,但在IIS服务器托管后收到此错误。

这个问题有解决方法吗?

我的问题现在解决了。 问题在于IIS中的文化设置。 我已将这些行添加到我的应用程序web.config中,它现在运行正常。

  

有关更多信息,请参阅IIS中的文化设置以查看此问题

IT取决于服务器的文化,您可以使用不变格式格式化您的文化,在您的日期13-08-2012,它将13视为月份。

 //Here an example of formatting with invariant culture CultureInfo yourCulture = CultureInfo.InvariantCulture; yourValue.ToString("yourFormat",yourCulture)); 

validation日期时间格式。 此外, DateTimeSqlDateTime范围不同。 如果收到空值,你会遇到麻烦。