Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架错误-正在使用的SQL Server版本不支持数据类型';datetime2';_C#_Asp.net_Entity Framework - Fatal编程技术网

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

C# 实体框架错误-正在使用的SQL Server版本不支持数据类型';datetime2';,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我正在ASP.NET4.0Web表单中使用EntityFramework4.0 在开发服务器上一切正常。但当我到达生产服务器时,我会将此错误记录到我的Elmah日志中 系统参数异常 正在使用的SQL Server版本不支持 数据类型“datetime2” 我做了一个快速的研究,发现问题出在datetime2akadatetime2(7)上,设置ProviderManifestToken=“2005”可以解决问题 我的问题是这个。我的开发服务器有SQL Server 2008 R2,而生产服务器有

我正在ASP.NET4.0Web表单中使用EntityFramework4.0

在开发服务器上一切正常。但当我到达生产服务器时,我会将此错误记录到我的Elmah日志中

系统参数异常
正在使用的SQL Server版本不支持 数据类型“datetime2”

我做了一个快速的研究,发现问题出在
datetime2
aka
datetime2(7)
上,设置
ProviderManifestToken=“2005”
可以解决问题

我的问题是这个。我的开发服务器有SQL Server 2008 R2,而生产服务器有SQL Server 2008 Express。所以,将舱单改为2005年似乎是不对的

我的问题是

  • 设置ProviderManifestToken=“2005”有效吗
  • 为什么实体框架生成了一个
    datetime2
    ,而我在任何表中都没有使用它
  • 有更好的工作吗

  • 只要把
    DateTime.Now
    作为日期,如果没有其他


    有相同的错误,这解决了它,因为如果你不设置日期时间对象的值,它将是1/1/0001 12:00:00 AM…这会给你错误,然后。。。这也是我解决问题的方法

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


    听起来不太好。但到目前为止,这是我所拥有的一切。

    我发现这篇博文中的答案对我有用:

    事实证明,EntityFramework4以某种方式获得了使用SQLServer2008的想法。修复方法是在XML编辑器中编辑.edmx文件,并设置ProviderManifestToken=“2005”而不是2008。(您需要重建。)以下是针对SQL Server 2005的行的外观:

    
    
    我已经在做了。另外,这个错误将无法将datetime2转换为datetime,对吗?这对我也适用,但如果您必须更新您的模型,它将重置为2008年,如果您正在使用它进行开发。然后,在将代码推出到测试或产品盒之前,您需要再次更改它。只需再次遇到此问题。在模型更新时覆盖设置。也许我们可以通过构建后的行动来“解决”这个问题。虽然这是你问题的重复,但它吸引了更多的注意力和答案,可能值得检查。
    <Schema Namespace="OfficeBookDBModel.Store"
        Alias="Self" Provider="System.Data.SqlClient"
        ProviderManifestToken="2005"
        xmlns:store=http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator
        xmlns="http://schemas.microsoft.com/ado/2009/02/edm/ssdl">