我在ASP.NET 4.0 Web Form中使用Entity Framework 4.0。
开发服务器上一切正常。但是当我到达生产服务器时,我的Elmah记录了这个错误:
System.ArgumentException
正在使用的SQL Server版本不支持数据类型“datetime2”。
我进行了快速研究并发现datetime2
也称为datetime2(7)
是问题所在,设置ProviderManifestToken="2005"
将解决此问题。
我的问题是:我的开发服务器有SQL Server 2008 R2,而生产服务器有SQL Server 2008 Express。因此,更改清单为2005似乎不正确。
我的问题是:
- 设置
ProviderManifestToken="2005"
会起作用吗? - 为什么Entity Framework生成了一个
datetime2
,我根本没有在任何表格中使用它? - 有更好的解决方法吗?