C# 实体框架中的日期时间区域性问题
我使用实体框架和代码优先的方法将模型发送到数据库(即SQL Server 2014) 该模型有2个DateTime字段,其中一个是用户输入。我将它存储在一个C# 实体框架中的日期时间区域性问题,c#,sql-server,entity-framework,datetime,culture,C#,Sql Server,Entity Framework,Datetime,Culture,我使用实体框架和代码优先的方法将模型发送到数据库(即SQL Server 2014) 该模型有2个DateTime字段,其中一个是用户输入。我将它存储在一个datetime?变量中,然后EF将其余的部分存储在数据库中 我的项目是多元文化的,当我使用另一种文化时,如fa-ir,EF显示以下错误: 将datetime2数据类型转换为datetime数据类型导致值超出范围。声明已终止 它在windows 2014和更新版本中工作,这些版本具有波斯文化,但在以前不支持波斯文化的版本中不起作用 任何解决方
datetime?
变量中,然后EF将其余的部分存储在数据库中
我的项目是多元文化的,当我使用另一种文化时,如fa-ir
,EF显示以下错误:
将datetime2数据类型转换为datetime数据类型导致值超出范围。声明已终止
它在windows 2014和更新版本中工作,这些版本具有波斯文化,但在以前不支持波斯文化的版本中不起作用
任何解决方案?SQL
datetime
数据类型仅支持1753-01-01到9999-12-31之间的日期
但波斯历法的当前年份是1396年
因此,您必须将SQL列更改为支持0001-01-01到9999-12-31的数据类型。您可以在插入之前将threa的区域性更改为persianvlaue@pranay-拉娜:是的,我改变了我们的文化,但问题没有得到解决!好的,我在ado.net的代码中尝试了这个技巧,它对我起了作用,因此我建议您必须选择一个日历(波斯日历或公历),最好选择一个时区(UTC),并将所有日期以该格式存储在数据库中。将它们全部存储在不同的时区甚至日历中都不会有任何好处。请向我们展示发生异常时正在执行的代码。确保突出显示抛出异常的行。选择此范围内的日期,它将存储在datetime变量中。我想以datetime格式在数据库中存储日期,因为结果在此范围内。这不是导致此错误的原因,此外,我不喜欢解决方法和临时解决方案!