关于查找DBUpdateException的原因和查找不匹配项查询向导的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.NETEntityFrameworkCore.DbUpdateExc
关于查找DBUpdateException的原因和查找不匹配项查询向导的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.NET EntityFrameworkCore.DbUpdateException 错误、asp.net-mvc – 没有其他用户的DB上的DbUpdateConcurrencyException.解决方法失败,出现NullException错误、BatchUpdateException:批处理不会终止、com.amazonaws.mturk.service.exception.ValidationException的实例源码等相关知识的信息别忘了在本站进行查找喔。
本文目录一览:- 查找DBUpdateException的原因(查找不匹配项查询向导)
- .NET EntityFrameworkCore.DbUpdateException 错误
- asp.net-mvc – 没有其他用户的DB上的DbUpdateConcurrencyException.解决方法失败,出现NullException错误
- BatchUpdateException:批处理不会终止
- com.amazonaws.mturk.service.exception.ValidationException的实例源码
查找DBUpdateException的原因(查找不匹配项查询向导)
调用时DbContext.SaveChanges
,我得到一个DbUpdateException:
在EntityFramework.dll中发生了类型为’System.Data.Entity.Infrastructure.DbUpdateException’的未处理异常。附加信息:更新条目时发生错误。有关详细信息,请参见内部异常。
不幸的是,没有内部异常(至少,据我所知)。有什么办法可以弄清楚为什么会SaveChanges
引发异常?至少,查看发生错误时SaveChanges尝试更新的表将很有帮助。
答案1
小编典典当真正的异常似乎在某个地方丢失时,最好的选择是打破每个异常。不管它是被捕获还是被吞噬,无论是在您到达还是到达的范围内,调试器都会中断并允许您查看发生了什么。
有关更多信息,请参见此MSDN链接:
如何:引发异常时中断
.NET EntityFrameworkCore.DbUpdateException 错误
Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details. ---> System.Data.SqlClient.SqlException: String or binary data would be truncated.
The statement has been terminated.
at System.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__122_0(Task`1 result)
at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteAsync(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary`2 parameterValues, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(DbContext _, ValueTuple`2 parameters, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IReadOnlyList`1 entriesToSave, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesA...
原来是数据库中的某个字段长度问题、导致数据无法导入
asp.net-mvc – 没有其他用户的DB上的DbUpdateConcurrencyException.解决方法失败,出现NullException错误
当我尝试将记录更新到数据库时,我收到以下错误:
Store update,insert,or delete statement affected an unexpected
number of rows (0). Entities may have been modified or deleted since
entities were loaded
使用从数据库实体框架模型首先使用代码生成的标准代码时出现此错误.很奇怪,因为我正在使用一台其他人无法访问的独立机器.
这是失败的代码:
if (ModelState.IsValid) { db.Entry(tblPropGroup).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); }
所以我写了下面的工作,一段时间完美无缺:
if (ModelState.IsValid) { db.Entry(_Prop).State = EntityState.Modified; bool saveFailed; do { saveFailed = false; try { db.SaveChanges(); } catch (dbupdateConcurrencyException ex) { saveFailed = true; // Update original values from the database var entry = ex.Entries.Single(); entry.OriginalValues.SetValues(entry.GetDatabaseValues()); } } while (saveFailed);
谁能解释为什么db.SaveChanges在没有其他用户的数据库上导致dbupdateConcurrencyException?如果我对数据进行任何更改,则没有任何区别.我有22个不同的表,我可以在这个程序中访问,如果没有这个解决方法,大约一半不会工作.
解决方法
以下是一些答案:
side-effect of a feature called optimistic concurrency
Store update,or delete statement affected an unexpected number of rows (0) EntityFramework
这可能有所帮助.
最好使用:
using(DBContext context = new DBContext()) { //Entity code }
处理您的上下文.
BatchUpdateException:批处理不会终止
我有一个处理很大文件并将数据发送到oracle数据库的应用程序(使用Java 6,oracle 9)。
在循环中,我使用PreparedStatement ps
并创建了所有使用生成的SQL语句ps.addBatch()
。
我有一种情况,BatchUpdateException bue
在期间将a 抛出ps.executeBatch()
。此时,该批处理停止执行。
我希望继续执行批处理,以便随后可以在method中检查失败的更新processUpdateCounts(bue.getUpdateCounts())
。
关于类BatchUpdateException的Javadoc说:
批处理更新中的命令无法正确执行并且抛出BatchUpdateException后, 驱动程序可能会或可能不会继续 处理批处理中的其余命令。
有没有一种方法可以强制执行连续性,或者我需要更改程序以使其分别执行该语句?
com.amazonaws.mturk.service.exception.ValidationException的实例源码
public void testValidateInvalidExternalQuestion() throws Exception { HITQuestion htmlQuestion = new HITQuestion(defaultInvalidExternalQuestionFileName); try { service.previewHIT(defaultHITInput,defaultHITProperties,htmlQuestion); fail("Expected ValidationException when previewing HIT with invalid external question." ); } catch (ValidationException e) { // Expected exception } }
public void testValidateInvalidHTMLQuestion() throws Exception { // HTMLQuestion has invalid FrameHeight try { QAPValidator.validateFile(defaultInvalidHTMLQuestionFileName); fail("Expected ValidationException when previewing a HIT with an invalid HTMLQuestion"); } catch (ValidationException e) { // Expected exception assertContains("ValidationFailure was not caused by an invalid frame height.","'I am not a number; I am a free man!' is not a valid value for 'integer'",e.getMessage()); } }
public void testCreateInvalidFormattedContentHIT() throws Exception { HITQuestion htmlQuestion = new HITQuestion(defaultInvalidFormattedContentQuestionFileName); try { service.previewHIT(defaultHITInput,htmlQuestion); fail("Expected ValidationException when creating HIT with invalid formatted content." ); } catch (ValidationException e) { // Expected exception } }
public void testCreateScriptFormattedContentHIT() throws Exception { HITQuestion htmlQuestion = new HITQuestion(defaultScriptFormattedContentQuestionFileName); try { service.previewHIT(defaultHITInput,htmlQuestion); fail("Expected ValidationException when creating HIT with script in formatted content." ); } catch (ValidationException e) { // Expected exception } }
public void testValidateInvalidExternalQuestion() throws Exception { HITQuestion htmlQuestion = new HITQuestion(defaultInvalidExternalQuestionFileName); try { service.previewHIT(defaultHITInput,htmlQuestion); fail("Expected ValidationException when previewing HIT with invalid external question." ); } catch (ValidationException e) { // Expected exception } }
public void testValidateInvalidHTMLQuestion() throws Exception { // HTMLQuestion has invalid FrameHeight try { QAPValidator.validateFile(defaultInvalidHTMLQuestionFileName); fail("Expected ValidationException when previewing a HIT with an invalid HTMLQuestion"); } catch (ValidationException e) { // Expected exception assertContains("ValidationFailure was not caused by an invalid frame height.",e.getMessage()); } }
public void testCreateInvalidFormattedContentHIT() throws Exception { HITQuestion htmlQuestion = new HITQuestion(defaultInvalidFormattedContentQuestionFileName); try { service.previewHIT(defaultHITInput,htmlQuestion); fail("Expected ValidationException when creating HIT with invalid formatted content." ); } catch (ValidationException e) { // Expected exception } }
public void testCreateScriptFormattedContentHIT() throws Exception { HITQuestion htmlQuestion = new HITQuestion(defaultScriptFormattedContentQuestionFileName); try { service.previewHIT(defaultHITInput,htmlQuestion); fail("Expected ValidationException when creating HIT with script in formatted content." ); } catch (ValidationException e) { // Expected exception } }
public static void validate(String question) throws ValidationException,IOException { validate(question,false,QUESTION_FORM_XSD,false); }
public static void validateFile(String fileName) throws ValidationException,IOException { validate(fileName,true,false); }
public static void validate(String question) throws ValidationException,false); }
public static void validateFile(String fileName) throws ValidationException,false); }
今天关于查找DBUpdateException的原因和查找不匹配项查询向导的分享就到这里,希望大家有所收获,若想了解更多关于.NET EntityFrameworkCore.DbUpdateException 错误、asp.net-mvc – 没有其他用户的DB上的DbUpdateConcurrencyException.解决方法失败,出现NullException错误、BatchUpdateException:批处理不会终止、com.amazonaws.mturk.service.exception.ValidationException的实例源码等相关知识,可以在本站进行查询。
本文标签: