Oracle Запись в БД доступна только один раз, используя NetFrameworkCore для Oracle - PullRequest
0 голосов
/ 20 марта 2020

У меня есть простое веб-решение (неполное), использующее NetFrameworkCore для Oracle.

См. HomeController.CS & AspNetUser.CS ->

Проблема в том, что у меня есть запись AspNetUser, которая была создана в БД через Microsoft.AspNetCore.Identity.UserManager. Эта запись доступна путем поиска по идентификатору, удалось получить запись.

Однако при остановке решения и выполнении повторного запуска (без создания нового AspNetUser) я не могу извлечь запись по идентификатору. Вместо этого выдается ошибка 500 с недопустимым исключением приведения к Oracle .ManagedDataAccess.Client.OracleDataReader.GetDateTimeOffset (). Возможно, проблема связана не со столбцом таблицы, поскольку повторное создание таблицы позволяет снова получить доступ к записи, хотя и один раз.

В чем может быть проблема? Я извиняюсь за то, что я новичок в Oracle и net core web. Ниже приведены ссылки на сообщение об ошибке и веб-решение.

Ошибка 500: https://1drv.ms/u/s! AjZf_PiMM9Arg6QLX9dfqkqu_Piepw

Решение: https://1drv.ms/u/s! AjZf_PiMM9Arg6QKQTAJ = eJP3 = eJP3 = eQuTaj = 5lLU97

1 Ответ

0 голосов
/ 23 марта 2020

Мне удалось решить проблему InvalidCastException. Текущая таблица Oracle была создана вручную без использования инструмента EntityFrameworkCore.

После удаления таблицы и ее повторного создания с помощью команд «add-migration» и «update-database» таблица доступна для последующего чтения. .

Проблема была связана со столбцом LockoutEnd.

Изменено с

"LockoutEnd" TIMESTAMP(7) NULL,

на

"LockoutEnd" TIMESTAMP (3) WITH TIME ZONE,
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...