Bar*_*a88 26 sql sql-server linq-to-entities entity-framework entity-framework-4
An error occurred while executing the command definition. See the inner exception for details. bbbbInnerException:aaaa System.ArgumentException: The version of SQL Server in use does not support datatype 'datetime2'.
at System.Data.SqlClient.TdsParser.TdsExecuteRPC(_SqlRPC[] rpcArray, Int32 timeout, Boolean inSchema, SqlNotificationRequest notificationRequest, TdsParserStateObject stateObj, Boolean isCommandProc)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavioR
Run Code Online (Sandbox Code Playgroud)
我有一个使用Entity Framework的网站.几个月前,我添加了一个新表,并在现有表中添加了一些列; 一切正常.
今天我更新了EDMX的映射,以便可以使用新表和新列,并将WebMethods添加到我的services.asmx文件中.从那时起,我无法运行我的网站,因为我有一个我无法理解的错误.如果你理解的话请解释一下,告诉我我的错误在哪里.
我没有在任何地方使用datetime2.我的新表中没有这样的数据类型,也没有添加到现有表的列中.
我的PC上的SQL版本是SQL2008 R2,在我有SQL2008的服务器上.我没有将服务器升级到R2的选项.
Mit*_*dir 80
您是否尝试使用XML编辑器打开EDMX文件并检查其值ProviderManifestToken
.它可以帮助从改变ProviderManifestToken=”2008”
到ProviderManifestToken=”2005”
.
Lad*_*nka 18
除了@Mithrandir之外,还要验证您的数据库是否在兼容级别设置为100的情况下运行(SQL 2008).
您不必DATETIME2
在数据库中使用它来获取此错误.一旦将required(NOT NULL
)DATETIME
列添加到现有表并且在将实体保存到数据库之前未设置该值,通常会发生此错误.在这种情况下,.NET将发送默认值1.1.0001,该值不适合DATETIME
范围.这(或类似的东西)将成为您问题的根源.
Mah*_*ssa 12
在文件编辑器中打开EDMX(或在Visual Studio中"以...打开"并选择XML编辑器).在顶部,您将找到存储模型,它具有属性ProviderManifestToken.这应该具有值2008.将其更改为2005,重新编译,一切正常.
注意:每次从数据库更新模型时都必须执行此操作.
归档时间: |
|
查看次数: |
21978 次 |
最近记录: |