【问题标题】:Oracle DB record accessible once only using NetFrameworkCore for OracleOracle DB 记录只能使用 NetFrameworkCore for Oracle 访问一次
【发布时间】:2020-07-01 10:04:35
【问题描述】:

我有一个使用 NetFrameworkCore for Oracle 的简单 Web 解决方案(不完整)。

参见 HomeController.CS 和 AspNetUser.CS -->

问题是我有一个 AspNetUser 记录,它是通过 Microsoft.AspNetCore.Identity.UserManager 在 DB 中创建的。 此记录可通过 ID 查找访问,并设法检索记录。

但是,在停止解决方案并重新运行(不创建新的 AspNetUser)时,我无法通过 ID 检索记录。 而是在 Oracle.ManagedDataAccess.Client.OracleDataReader.GetDateTimeOffset() 上引发 500 错误和无效转换异常。 该问题可能与表列无关,因为重新创建表允许再次访问记录,尽管也可以访问一次。

那可能是什么问题? 我很抱歉,因为我是 Oracle 和 net core web 的新手。 以下是错误和网络解决方案的链接。

错误 500:https://1drv.ms/u/s!AjZf_PiMM9Arg6QLX9dfqkqu_Piepw

解决方案:https://1drv.ms/u/s!AjZf_PiMM9Arg6QKrT3AuP3QTJaQYQ?e=5lLU97

【问题讨论】:

    标签: oracle entity-framework-core asp.net-identity usermanager


    【解决方案1】:

    我已经设法解决了 InvalidCastException 的问题。当前的 Oracle 表是手动创建的,没有使用 EntityFrameworkCore 工具。

    删除表并使用命令“add-migration”和“update-database”重新创建后,可以在后续读取时访问该表。

    问题出在 LockoutEnd 列上。

    改变自

    "LockoutEnd" TIMESTAMP(7) NULL,
    

    "LockoutEnd" TIMESTAMP (3) WITH TIME ZONE,
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-08
      • 2023-02-18
      • 1970-01-01
      相关资源
      最近更新 更多