实体框架 - SQL Server 2005中 - IIS Server日期时间问题(Entit

2019-09-21 08:21发布

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

似乎一切都在本地环境做工精细。 但它托管到IIS后我得到尝试从日期搜索异常13-08-2012 (13正在为本月在SQL我猜)

错误说

SQLDATETIME溢出。 必须是1753年1月1日12:00:00 AM和12/31/9999下午11:59:59之间

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

但我不明白为什么这是工作没有任何问题,在使用相同的SQL Server,但在IIS服务器托管后得到这个错误我的本地环境。

是否有此问题的任何解决方法吗?

Answer 1:

我现在的问题是解决了。 问题是,在IIS中的文化设置。 我已经添加了这些行到我的应用程序的web.config,现在是工作的罚款。

<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="en-GB" uiCulture="en-GB"/>

欲了解更多信息,请参阅此问题在IIS区域性设置



Answer 2:

它取决于服务器的文化,你可以用不变的格式来格式化你的文化,你的日期13-08-2012,它认为13个月。

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


Answer 3:

验证日期时间格式。 此外, DateTime不具有相同的范围SqlDateTime 。 如果你收到一个空值,你会遇到麻烦。



文章来源: Entity Framework - SQL Server 2005 - IIS Server datetime issue