Pablo Paau Ответов: 3

Ошибка сохранения сущности транзакции framewok


ПРИВЕТ
У меня есть проблема сохранить транзакцию в двух заголовках таблицы-подробности
следующая ошибка код является следующим:


Спасибо за помощь мне




System.Data.Entity.Core.EntityException был необработан
Значение HRESULT=-2146233087
Сообщение=базовый поставщик потерпел неудачу при фиксации.
Источник=EntityFramework
Трассировка стека:
собственной системы.Данных.Лица.Ядро.Entityclient создан.EntityTransaction.Совершать()
собственной системы.Данных.Лица.DbContextTransaction.Совершать()
Ан Cotizacion_Clientes.Cotizaciones.button2_Click(отправитель объекта, EventArgs e) ru E:\PROYECTOS_VS2015\Cotizacion_Clientes\Cotizacion_Clientes\Cotizaciones.cs:línea 64
собственной системы.Окна.Формы.Контроль.OnClick(EventArgs e)
собственной системы.Окна.Формы.Кнопка.OnClick(EventArgs e)
собственной системы.Окна.Формы.Кнопка.OnMouseUp(MouseEventArgs mevent)
собственной системы.Окна.Формы.Контроль.WmMouseUp(Message& m, кнопка MouseButtons, Int32 клика)
собственной системы.Окна.Формы.Контроль.WndProc(сообщение& m)
собственной системы.Окна.Формы.ButtonBase.WndProc(сообщение& m)
собственной системы.Окна.Формы.Кнопка.WndProc(сообщение& m)
собственной системы.Окна.Формы.Контроль.ControlNativeWindow.OnMessage(сообщение& m)
собственной системы.Окна.Формы.Контроль.ControlNativeWindow.WndProc(сообщение& m)
собственной системы.Окна.Формы.Родное окно.DebuggableCallback(hwnd элемента указателя IntPtr, int32 и глутамат натрия, указателя IntPtr параметр wparam, указателя IntPtr lparam должен)
собственной системы.Окна.Формы.Небезопасные методы.DispatchMessageW(MSG& msg)
собственной системы.Окна.Формы.Приложение.ComponentManager.Система.Окна.Формы.Небезопасные методы.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
собственной системы.Окна.Формы.Приложение.ThreadContext.RunMessageLoopInner(Int32 причина, контекст ApplicationContext)
собственной системы.Окна.Формы.Приложение.ThreadContext.RunMessageLoop(Int32 причина, контекст ApplicationContext)
собственной системы.Окна.Формы.Приложение.RunDialog(форма формы)
собственной системы.Окна.Forms.Form.ShowDialog(владелец IWin32Window)
собственной системы.Окна.Форм.Форма.Метод showdialog()
Ан Cotizacion_Clientes.Seleccione_Empresa.button1_Click(отправитель объекта, EventArgs e) ru E:\PROYECTOS_VS2015\Cotizacion_Clientes\Cotizacion_Clientes\Seleccione_Empresa.cs:línea 46
собственной системы.Окна.Формы.Контроль.OnClick(EventArgs e)
собственной системы.Окна.Формы.Кнопка.OnClick(EventArgs e)
собственной системы.Окна.Формы.Кнопка.OnMouseUp(MouseEventArgs mevent)
собственной системы.Окна.Формы.Контроль.WmMouseUp(Message& m, кнопка MouseButtons, Int32 клика)
собственной системы.Окна.Формы.Контроль.WndProc(сообщение& m)
собственной системы.Окна.Формы.ButtonBase.WndProc(сообщение& m)
собственной системы.Окна.Формы.Кнопка.WndProc(сообщение& m)
собственной системы.Окна.Формы.Контроль.ControlNativeWindow.OnMessage(сообщение& m)
собственной системы.Окна.Формы.Контроль.ControlNativeWindow.WndProc(сообщение& m)
собственной системы.Окна.Формы.Родное окно.DebuggableCallback(hwnd элемента указателя IntPtr, int32 и глутамат натрия, указателя IntPtr параметр wparam, указателя IntPtr lparam должен)
собственной системы.Окна.Формы.Небезопасные методы.DispatchMessageW(MSG& msg)
собственной системы.Окна.Формы.Приложение.ComponentManager.Система.Окна.Формы.Небезопасные методы.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
собственной системы.Окна.Формы.Приложение.ThreadContext.RunMessageLoopInner(Int32 причина, контекст ApplicationContext)
собственной системы.Окна.Формы.Приложение.ThreadContext.RunMessageLoop(Int32 причина, контекст ApplicationContext)
собственной системы.Окна.Формы.Application.Run(форма mainForm)
Ан Cotizacion_Clientes.Program.Main() ru E:\PROYECTOS_VS2015\Cotizacion_Clientes\Cotizacion_Clientes\Program.cs:línea 19.
собственной системы.AppDomain._nExecuteAssembly(сборка RuntimeAssembly, String[] args)
собственной системы.домен приложений.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
ru если на вашем компьютере.VisualStudio.Хостингпроцесс.HostProc.RunUsersAssembly()
собственной системы.Нарезание резьбы.ThreadHelper.ThreadStart_Context(состояние объекта)
собственной системы.Нарезание резьбы.Параллельном режиме.RunInternal(параллельном режиме параллельном режиме, ContextCallback обратного вызова, состояние объекта, логическое preserveSyncCtx)
собственной системы.Нарезание резьбы.Параллельном режиме.Выполнения(в параллельном режиме параллельном режиме, ContextCallback обратного вызова, состояние объекта, логическое preserveSyncCtx)
собственной системы.Нарезание резьбы.Параллельном режиме.Выполнения(в параллельном режиме параллельном режиме, ContextCallback обратного вызова, состояние объекта)
собственной системы.Нарезание резьбы.ThreadHelper.ThreadStart()
Свойство innerexception:
Значение HRESULT=-2147467261
Сообщение=El valor no puede ser nulo.

Nombre del parámetro: подключение
ParamName=соединение
Источник=EntityFramework
Трассировка стека:
собственной системы.Данных.Лица.Коммунальные услуги.Проверять.NotNull[T](значение T, строковое имя параметра)
собственной системы.Данных.Лица.Инфраструктура.Перехват.DbTransactionInterceptionContext.WithConnection(соединение DbConnection)
собственной системы.Данных.Лица.Инфраструктура.Перехват.DbTransactionDispatcher.Commit(DbTransaction transaction, DbInterceptionContext interceptionContext)
собственной системы.Данных.Лица.Ядро.Entityclient создан.EntityTransaction.Совершать()
Свойство innerexception:

Что я уже пробовал:

сохранить транзакцию
в таблице была сохранена транзакция, но эта ошибка представлена.

3 Ответов

Рейтинг:
2

Pablo Paau

Не потому что
транзакция была сохранена, но показывает эту ошибку.


Richard Deeming

Если вы хотите ответить на решение, нажмите кнопку "есть вопрос или комментарий?" нажмите кнопку под решением и оставьте комментарий.

Не опубликуйте свой комментарий как новое "решение".

Рейтинг:
1

Richard Deeming

Согласно с этот вопрос на GitHub[^], вы пытаетесь совершить транзакцию после того, как SaveChanges вызов не удался:
Commit дает EntityException с ArgumentNullException, если SaveChanges не удалось · Issue #667 · dotnet/ef6 · GitHub[^]


Рейтинг:
0

Dave Kreskowiak

Я думаю, что сообщение InnerException делает это довольно очевидным.

The value cannot be null

В таблице, с которой Вы имеете дело, есть столбец, который указан так, чтобы не принимать нулевые значения, и вы предоставили одно или заявили, что не смогли предоставить значение для столбца, который ожидал значение.