在VS 2010 .net 4.0中使用实体框架时出现“datetime2”错误 [英] 'datetime2' error when using entity framework in VS 2010 .net 4.0

查看:148
本文介绍了在VS 2010 .net 4.0中使用实体框架时出现“datetime2”错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

获取此错误:


System.Data.SqlClient.SqlException:将datetime2数据类型转换为datetime数据类型超出范围的值。

System.Data.SqlClient.SqlException : The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.

我的实体对象全部排列到数据库对象。

My entity objects all line up to the DB objects.

我仅通过Google发现了对此错误的单一引用:

I found only a single reference to this error via Google:

Google结果

阅读完后,我记得我们> 添加2个字段,然后从VS 2010更新实体模型。我不知道他的手段是什么意思。我没有看到任何。

After reading this, I remember that we did add 2 fields and then updated the entity model from VS 2010. I'm not sure what he means by "hand coding" the differences. I don't see any.

我在代码中所做的是填充实体对象,然后保存。 (我还填写代码中的新字段)我填充日期字段与 DateTime.Now ..

All I'm doing in code is populating the entity object and then saving. (I also populate the new fields in code) I populated the date field with DateTime.Now..

代码的重要部分是这样的: ctx.SaveChanges(SaveOptions.AcceptAllChangesAfterSave);

The important part of the code is this: ctx.SaveChanges(SaveOptions.AcceptAllChangesAfterSave);

数据库是SQL Server 2008年。

The database is SQL Server 2008.

想法?

Thoughts?

其余的错误:


在System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter适配器)
在System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache)
在System.Data.Objects.ObjectContext.SaveChanges(SaveOptions选项)
在SafariAdmin.Site.WebServices.SpeciesPost.SaveOrUpdateSpecies(String sid ,String fieldName,String authToken)在SpeciesPost.svc.cs中:行58
在SafariAdmin.TestHarness.Tests.Site.WebServices.SpeciesPostSVC_Tester.SaveNewSpecies()在SpeciesPostSVC_Tester.cs中:行33
--SqlExce在System.Data.SqlClient.SqlConnection.OnError(SqlException异常,Boolean breakConnection)的$ p $ b $ System.Data.SqlClient.SqlInternalConnection.OnError(SqlException异常,Boolean breakConnection)
在System。 Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
在System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj)
在System.Data.SqlClient。 SqlDataReader.ConsumeMetaData()
在System.Data.SqlClient.SqlDataReader.get_MetaData()
在System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,Boolean async)
在System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBeh avior,Boolean returnStream,String方法,DbAsyncResult结果)
在System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,String方法)
在System.Data.SqlClient.SqlCommand .ExecuteReader(CommandBehavior行为,String方法)
在System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior行为)
在System.Data.Common.DbCommand.ExecuteReader(CommandBehavior行为)
在System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator翻译器,EntityConnection连接,Dictionary 2 identifierValues,List 1 generatedValues)
在System.Data。 Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter适配器)

at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter) at System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache) at System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options) at SafariAdmin.Site.WebServices.SpeciesPost.SaveOrUpdateSpecies(String sid, String fieldName, String authToken) in SpeciesPost.svc.cs: line 58 at SafariAdmin.TestHarness.Tests.Site.WebServices.SpeciesPostSVC_Tester.SaveNewSpecies() in SpeciesPostSVC_Tester.cs: line 33 --SqlException at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) 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.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator translator, EntityConnection connection, Dictionary2 identifierValues, List1 generatedValues) at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter)


推荐答案

实体框架将所有日期处理为Datetime2,因此,如果数据库中的字段为Datetime,则可能是一个问题。
我们在这里遇到了同样的问题,从我们发现,填充所有日期字段和更改数据类型,是最常见的解决方案

Entity framework handles all the dates as a Datetime2, so, if your fields in the database are Datetime, this could be a problem. We had the same problem here, and from what we found, populating all the date fields and changing the datatype, are the most commom solutions

这篇关于在VS 2010 .net 4.0中使用实体框架时出现“datetime2”错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆