【问题标题】:BreezeJS DocCode Fails During TestBreezeJS DocCode 在测试期间失败
【发布时间】:2014-05-24 02:51:23
【问题描述】:

使用 VS 2013 运行 DocCode 示例的最新示例代码。出现以下错误。 任何想法为什么?我的目标是调试 localstorage 和 IndexedDB 并查看在此测试期间调试器中发生了什么。我需要提供概念证明并确保 BreezeJS 可以正确使用 IndexedDB 存储。

System.Exception 未被用户代码处理 H结果=-2146233088 Message=Store 更新、插入或删除语句影响了意外数量的行 (0)。自加载实体后,实体可能已被修改或删除。刷新 ObjectStateManager 条目。 来源=Breeze.ContextProvider.EF6 堆栈跟踪: 在 Breeze.ContextProvider.EF6.EFContextProvider1.SaveChangesCore(SaveWorkState saveWorkState) at Breeze.ContextProvider.ContextProvider.OpenAndSave(SaveWorkState saveWorkState) at Breeze.ContextProvider.ContextProvider.SaveChanges(JObject saveBundle, TransactionSettings transactionSettings) at DocCode.DataAccess.TodosRepository.SaveChanges(JObject saveBundle) in c:\Users\username\Downloads\breeze-runtime-plus-1.4.12\Samples\net\DocCode\DocCode.DataAccess.EF\TodosRepository.cs:line 27 at DocCode.Controllers.TodosController.SaveChanges(JObject saveBundle) in c:\Users\username\Downloads\breeze-runtime-plus-1.4.12\Samples\net\DocCode\DocCode\Controllers\TodosController.cs:line 30 at lambda_method(Closure , Object , Object[] ) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary2 参数,CancellationToken cancelToken) 内部异常:System.Data.Entity.Infrastructure.DbUpdateConcurrencyException H结果=-2146233087 Message=Store 更新、插入或删除语句影响了意外数量的行 (0)。自加载实体后,实体可能已被修改或删除。刷新 ObjectStateManager 条目。 来源=实体框架 堆栈跟踪: 在 System.Data.Entity.Internal.InternalContext.SaveChanges() 在 System.Data.Entity.Internal.LazyInternalContext.SaveChanges() 在 System.Data.Entity.DbContext.SaveChanges() 在 Breeze.ContextProvider.EF6.EFContextProvider1.SaveChangesCore(SaveWorkState saveWorkState) InnerException: System.Data.Entity.Core.OptimisticConcurrencyException HResult=-2146233087 Message=Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries. Source=EntityFramework StackTrace: at System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.ValidateRowsAffected(Int64 rowsAffected, UpdateCommand source) at System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update() at System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.<Update>b__2(UpdateTranslator ut) at System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.Update[T](T noChangesResult, Func2 updateFunction,布尔 throwOnClosedConnection) 在 System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.Update(布尔 throwOnClosedConnection) 在 System.Data.Entity.Core.Objects.ObjectContext.b__33() 在 System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess) at System.Data.Entity.Core.Objects.ObjectContext.SaveChangesToStore(SaveOptions options, IDbExecutionStrategy executionStrategy) at System.Data.Entity.Core.Objects.ObjectContext.<>c__DisplayClass28.<SaveChanges>b__25() at System.Data.Entity.Infrastructure.DefaultExecutionStrategy.Execute[TResult](Func1 操作) 在 System.Data.Entity.Core.Objects.ObjectContext.SaveChanges(SaveOptions 选项) 在 System.Data.Entity.Internal.InternalContext.SaveChanges() 内部异常:

【问题讨论】:

  • 写入数据库时​​看起来像并发错误。您是否同时使用多个连接写入数据库?
  • 现在,它会在出现上述错误之前保存到本地存储,但不会保存到 indexeddb。 indexeddb 最近有测试过吗?这对我来说是必需品。我使用以下内容尝试写入 indexeddb。 ---> window.indexedDB.setItem("mydb -idexedDB", changesExport);
  • 不,我解压缩了演示并运行它,甚至在我添加 indexeddb 数据之前它就失败了。版本--------breeze-runtime-plus-1.4.12
  • 我再次解压了这个版本的breeze-runtime-plus-1.4.12 并运行它,得到了同样的错误。

标签: c# breeze


【解决方案1】:

我可以在saveConcurrentlyTests.js 文件内的saveConcurrentlyTests - SaveQueuing 测试模块中看到此异常。并发异常是预期的,因为这是测试的目的。该模块中的所有 5 个测试仍然通过。

如果这与您观察到的不同,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2016-05-23
    • 2014-04-30
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 2020-07-14
    相关资源
    最近更新 更多