c# - Entity Framework - SQL Server 2005 - IIS 服务器日期时间问题

标签 c# sql-server entity-framework datetime cultureinfo

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

在本地环境中一切似乎都运行良好。但是在将它托管到 IIS 之后,我在尝试从日期 13-08-2012 进行搜索时遇到异常(我猜 13 在 SQL 中是一个月)

错误说

SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM

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

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

这个问题有解决办法吗?

最佳答案

我的问题现在已经解决了。问题在于 IIS 中的区域性设置。 我已将这些行添加到我的应用程序 web.config 中,它现在工作正常。

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

有关更多信息,请查看此 Issue with culture settings in IIS

关于c# - Entity Framework - SQL Server 2005 - IIS 服务器日期时间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12017967/

相关文章:

c# - 无法在多对多中获取组的非成员

C# 如何更新 BlockingCollection<T> 中的元素?

sql-server - 大量文本或 excel 数据更快地导入 sql

asp.net-mvc - 在 ASP.NET Core 中生成唯一的随机数

c# - EDMFunction 是如何工作的?

c# - WCF服务库: BadImageFormatException with 32 bit dll

c# - Javascript Com 数组组件给我错误的数组值

c# - 使用 Entity Framework 在 sql server 中加密/解密列

sql - 如何重命名 SQL 表中的列?

c# - 数据库实体的 MVC 错误