C# .NET/Entity Framework-System.Data.UpdateException不够精确?

C# .NET/Entity Framework-System.Data.UpdateException不够精确?,c#,.net,sql-server,entity-framework,updateexception,C#,.net,Sql Server,Entity Framework,Updateexception,我参加了一个小型的.NET迁移项目,该项目使用实体框架和MS SQL Server 2005。当持久化不使用db模式的数据(例如字符串太长)时,我得到一个异常System.data.UpdateException,它表示“字符串或二进制数据将被截断”。但目前还没有相关信息。有人知道怎么得到这个吗 thx 这里是stacktrace: at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateMana

我参加了一个小型的.NET迁移项目,该项目使用实体框架和MS SQL Server 2005。当持久化不使用db模式的数据(例如字符串太长)时,我得到一个异常System.data.UpdateException,它表示“字符串或二进制数据将被截断”。但目前还没有相关信息。有人知道怎么得到这个吗

thx

这里是stacktrace:

   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 System.Data.Objects.ObjectContext.SaveChanges()
   at HAM.Inventory.Data.Repository.DocumentRepository.Save(Document document) in D:\ludewigg\Documents\Projects\HAM\src\VBS-HAM-Inventory\Main\HAM.Inventory.Data\Repository\DocumentRepository.cs:line 177
   at HAM.Inventory.Business.Managers.DocumentManager.Save(Document document) in D:\ludewigg\Documents\Projects\HAM\src\VBS-HAM-Inventory\Main\HAM.Inventory.Business\Managers\DocumentManager.cs:line 75
   at HAM.Inventory.MigrationClient.Common.Migration.SaveItem(ItemBase item) in D:\ludewigg\Documents\Projects\HAM\src\VBS-HAM-Inventory\Main\HAM.Inventory.MigrationClient\Common\Migration.cs:line 143
   at HAM.Inventory.MigrationClient.Common.Migration.SaveAndClearItems(List`1 items) in D:\ludewigg\Documents\Projects\HAM\src\VBS-HAM-Inventory\Main\HAM.Inventory.MigrationClient\Common\Migration.cs:line 76
内部的例外是:

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.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.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator translator, EntityConnection connection, Dictionary`2 identifierValues, List`1 generatedValues)
   at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter)

查看
StateEntries
属性。它应该包含所有失败的对象。

我知道的对象,但是哪个字段?@user524906:您必须查找该字段,并确保没有过长的字符串。@user524906:附加SQL探查器,这应该很容易发现。或者打开datacontext的日志。尚未尝试datacontext日志,但正在使用探查器。为了查看结果错误,我将查询从那里复制到SSMS。但是SSMS永远不会完成查询的执行!!奇怪的是,SSMS似乎无法处理“exec sp_executesql”语句……好了,非常感谢!你是对的,验证是最好的方法。无论如何,对于这种情况,我只是在寻找一种快速简单的方法来确定引发异常的字段/列。只是添加到post,但看不到任何内容