实体框架错误 - 正在使用的SQL Server版本不支持数据类型'datetime2'

nav*_*een 4 c# asp.net entity-framework

我在ASP.NET 4.0 Web窗体中使用Entity Framework 4.0.

一切都很好在开发服务器上.但是当我到达生产服务器时,我的Elmah记录了这个错误

System.ArgumentException
正在使用的SQL Server版本不支持数据类型"datetime2".

我做了一个快速的研究,发现datetime2aka datetime2(7)问题和设置ProviderManifestToken="2005"将解决问题.

我的问题是这个.我的开发服务器具有SQL Server 2008 R2,而生产服务器具有SQL Server 2008 Express.因此,将清单更改为2005似乎并不正确.

我的问题是

  1. 设置ProviderManifestToken="2005"工作?
  2. 为什么Entity Framework datetime2在我没有在任何表中使用它时生成了一个?
  3. 有更好的解决方法吗?

nav*_*een 23

到目前为止,我没有看到任何解决方法.因此,如果您使用的是SQL Server 2008 Express,请右键单击您的edmx,使用XML(文本)编辑器打开它并进行设置ProviderManifestToken="2005".

听起来不那么好.但就我现在所拥有的一切而言.