Как я могу найти, какие значения мне не хватает при отладке? - PullRequest
0 голосов
/ 24 января 2019

Я пытаюсь добавить что-то в мой dbcontext асинхронно, используя следующий код:

var entry = await _context.AddAsync(person);

Однако я получаю следующее исключение:

System.ArgumentNullException: значение не может быть нулевым. Имя параметра: ключ

в System.ThrowHelper.ThrowArgumentNullException (аргумент ExceptionArgument)

в System.Collections.Generic.Dictionary`2.FindEntry (ключ TKey)

в System.Collections.Generic.Dictionary`2.TryGetValue (ключ TKey, TValue & value)

в Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.TryGetEntry (объектный объект, IEntityType entityType)

в Microsoft.EntityFrameworkCore.ChangeTracking.Internal.NavigationFixer.InitialFixup (запись InternalEntityEntry, ISet`1 handledForeignKeys, логическое значение fromQuery)

в Microsoft.EntityFrameworkCore.ChangeTracking.Internal.NavigationFixer.StateChanged (запись InternalEntityEntry, EntityState oldState, логическое значение fromQuery)

в Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntryNotifier.StateChanged (запись InternalEntityEntry, EntityState oldState, логическое значение fromQuery)

в Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry.FireStateChanged (EntityState oldState)

в Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry.d__18.MoveNext ()

--- Конец трассировки стека от предыдущего местоположения, где было сгенерировано исключение ---

в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()

в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача)

в Microsoft.EntityFrameworkCore.ChangeTracking.Internal.EntityGraphAttacher.d__6.MoveNext ()

--- Конец трассировки стека от предыдущего местоположения, где было сгенерировано исключение ---

в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()

в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача)

в Microsoft.EntityFrameworkCore.ChangeTracking.Internal.EntityEntryGraphIterator.d__1`1.MoveNext ()

--- Конец трассировки стека от предыдущего местоположения, где было сгенерировано исключение ---

в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()

в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача)

в Microsoft.EntityFrameworkCore.DbContext.d__64.MoveNext ()

--- Конец трассировки стека от предыдущего местоположения, где было сгенерировано исключение ---

в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()

в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача)

в Microsoft.EntityFrameworkCore.DbContext.d__66`1.MoveNext ()

--- Конец трассировки стека от предыдущего местоположения, где было сгенерировано исключение ---

в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()

в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача)

в System.Runtime.CompilerServices.TaskAwaiter`1.GetResult ()

at PersonRepository.d__4.MoveNext ()

--- Конец трассировки стека от предыдущего местоположения, где было сгенерировано исключение ---

в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача)

в System.Runtime.CompilerServices.TaskAwaiter`1.GetResult ()

в PersonController.d__3.MoveNext () в PersonController.cs: строка 63

При чтении этих утверждений я не мог найти, какие значения я мог бы пропустить. И во время отладки я не знаю, что искать. Как я могу найти, какие значения мне не хватает при отладке?

1 Ответ

0 голосов
/ 24 января 2019

Похоже, идентификатор, определенный для человека, которого вы пытаетесь добавить, является нулевым. Если у вас не настроено создание идентификатора базы данных, вам нужно будет указать идентификатор этого человека, прежде чем добавить его в контекст.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...