我使用Entity Framework和代码优先方法将模型发送到数据库(即SQL Server 2014)。
该模型有2个DateTime字段,其中一个是用户输入。我将它存储在datetime?
变量中,然后EF执行其余操作以将模型存储在数据库中。
我的项目是多元文化,当我使用其他文化,例如fa-ir
时,EF显示以下错误:
将datetime2数据类型转换为日期时间数据类型会导致超出范围的值。声明已经终止。
适用于2014年及更新版本的具有波斯文化的版本,但之前的版本不支持波斯文化。
任何解决方案?
答案 0 :(得分:1)
SQL datetime
数据类型仅支持1753-01-01到9999-12-31之间的日期。
但波斯日历的当年是1396年。
因此,您必须将SQL列更改为支持0001-01-01至9999-12-31的datetime2
数据类型。