实体框架中的DateTime文化问题

时间:2017-12-04 12:29:23

标签: c# sql-server entity-framework datetime culture

我使用Entity Framework和代码优先方法将模型发送到数据库(即SQL Server 2014)。

该模型有2个DateTime字段,其中一个是用户输入。我将它存储在datetime?变量中,然后EF执行其余操作以将模型存储在数据库中。

我的项目是多元文化,当我使用其他文化,例如fa-ir时,EF显示以下错误:

  

将datetime2数据类型转换为日期时间数据类型会导致超出范围的值。声明已经终止。

适用于2014年及更新版本的具有波斯文化的版本,但之前的版本不支持波斯文化。

任何解决方案?

1 个答案:

答案 0 :(得分:1)

SQL datetime数据类型仅支持1753-01-01到9999-12-31之间的日期。

但波斯日历的当年是1396年。

因此,您必须将SQL列更改为支持0001-01-01至9999-12-31的datetime2数据类型。