指定的架构无效

时间:2012-02-15 19:27:02

标签: asp.net sql-server entity-framework

我一直在收到错误,实体框架出错了。我有一个SQL Server 2005 SP2。

当ProviderManifestToken =“2008”时,我收到此错误。

The version of SQL Server in use does not support datatype 'datetime2'.

我完成了更改shown here,当我被推到“2005”时,我得到了

Schema specified is not valid. Errors: 
DatabaseAccess.Schema.Model1.ssdl(2,123) : error 0169: All SSDL artifacts must
target the same provider. The ProviderManifestToken '2008' is different 
from '2005' that was encountered earlier.

我不明白

我的数据库版本是Microsoft SQL Server标准版(64位)9.00.3042.00

我已经尝试删除架构并重新添加它无济于事。重启等

我已将所有日期时间字段视为可空

1 个答案:

答案 0 :(得分:0)

我以前见过这个,它与datetime为Nullable有关。我想如果你闯入代码,你会发现创建类的新实例时的日期时间值是默认值(DateTime)而不是null,而这个值导致错误。

如果可能,您可以在保存上下文更改之前尝试清空DateTime值吗?

我将尝试整理一个样本,说明何时以及如何发生这种情况。

在这里找到一个简短的解释:

http://dotnetslackers.com/Community/blogs/bmains/archive/2010/11/19/entity-framework-4-and-quot-the-conversion-of-a-datetime2-data-type-to-a-datetime-data-type-resulted-in-an-out-of-range-value-quot.aspx