Ожидается, что операция базы данных повлияет на 1 строку (строки), но фактически затронула 0 строкC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Ожидается, что операция базы данных повлияет на 1 строку (строки), но фактически затронула 0 строк

Сообщение Гость »


Я пытаюсь вставить записи в две таблицы, но получаю исключение. Не могли бы вы помочь мне решить эту проблему.

Сначала я попробовал приведенный ниже код.

await _testRepository.InsertAsync(test); ждут _xyzRepository.InsertAsync(xyz); Затем я попробовал этот код, но у меня ничего не работает.

попробуй { вар тест = новый тест (); используя (var uow = _unitOfWorkManager.Begin(TransactionScopeOption.RequiresNew)) { инт? tenantId = _unitOfWorkManager.Current.GetTenantId(); используя (_unitOfWorkManager.Current.SetTenantId(tenantId)) { ждут _testRepository.InsertAsync(тест); вар xyz = новый XYZ(); ждут _xyzRepository.InsertAsync(xyz); ждут _unitOfWorkManager.Current.SaveChangesAsync(); ожидайте uow.CompleteAsync(); } } } поймать (Исключение ex) { выдать новое исключение UserFriendlyException(ex.Message); } Исключение

Сообщение:

Ожидается, что операция с базой данных повлияет на 1 строку(и), но на самом деле затронула 0 ряд(ы). Данные могли быть изменены или удалены, поскольку объекты были загружен. См. http://go.microsoft.com/fwlink/?LinkId=527962 для получения информации. информация о понимании и управлении оптимистическим параллелизмом исключения.

трассировка стека:

в Microsoft.EntityFrameworkCore.Update.AffectedCountModificationCommandBatch.ThrowAggregateUpdateConcurrencyException(Int32 CommandIndex, Int32 ожидаемыйRowsAffected, Int32 rowsAffected) в Microsoft.EntityFrameworkCore.Update.AffectedCountModificationCommandBatch.d__4.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task задание) на Microsoft.EntityFrameworkCore.Update.AffectedCountModificationCommandBatch.d__2.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task задание) на Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.d__32.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task задание) на Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.d__10.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task задание) на Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerExecutionStrategy.d__7`2.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task задание) на Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.d__61.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task задание) на Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.d__59.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task задание) на Microsoft.EntityFrameworkCore.DbContext.d__48.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task задание) на Abp.EntityFrameworkCore.AbpDbContext.d__49.MoveNext() в D:\Github\aspnetboilerplate\src\Abp.EntityFrameworkCore\EntityFrameworkCore\AbpDbContext.cs:line 214

ИНФО 2018-04-11 13:59:53,439 [3 ] ore.Mvc.Internal.ControllerActionInvoker — Выполнение метода действия MyCompany.MyProject.AdditionalMasterData.Tests.TestsAppService.CreateOrEdit (MyCompany.MyProject.Application) с аргументами ([CreateOrEditTestDto ]) - ModelState действителен WARN 2018-04-11 14:01:48,396 [4 ] Mvc.ExceptionHandling.AbpExceptionFilter — ожидается операция с базой данных чтобы повлиять на 1 строку(и), но фактически затронуло 0 строк(строк). Данные могли быть изменены или удалены с момента загрузки объектов. Видеть http://go.microsoft.com/fwlink/?LinkId=527962 для получения информации о понимание и обработка исключений оптимистического параллелизма. Abp.UI.UserFriendlyException: ожидается, что операция базы данных повлияет на 1 строк, но фактически затронуло 0 строк. Данные могли быть изменены или удалено, поскольку объекты были загружены. Видеть http://go.microsoft.com/fwlink/?LinkId=527962 для получения информации о понимание и обработка исключений оптимистического параллелизма. в MyCompany.MyProject.AdditionalMasterData.Tests.TestsAppService.d__7.MoveNext() в C:\Repo\MyProjectVenues\aspnet-core\src\MyCompany.MyProject.Application\AdditionalMasterData\Tests\TestsAppService.cs:line 205 --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task задание) на MyCompany.MyProject.AdditionalMasterData.Tests.TestsAppService.d__6.MoveNext() в C:\Repo\MyProjectVenues\aspnet-core\src\MyCompany.MyProject.Application\AdditionalMasterData\Tests\TestsAppService.cs:line 170 --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task задание) на Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__12.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task задание) на Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__10.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext контекст) на Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& следующий, Область и область, Объект и состояние, Логическое значение и завершено) в Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__14.MoveNext() --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task задание) на Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.d__23.MoveNext()

Обновить

У меня есть основная причина проблемы.

По сути, у меня есть триггер вставки в Entity2, и когда я прокомментировал запрос внутри этого триггера, он работает нормально.

В этом триггере около 10 запросов, и очень сложно определить, какой из них вызывает проблему. Не могли бы вы рассказать мне, как отладить этот триггер?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»