EFCore 3.0 Devart Provider With OracleDB 无法原始工作 sql

EFCore 3.0 Devart Provider With OracleDB doen't work raw sql

我在 .net core 3.1 上的项目 运行,我使用数据提供程序 Devart.Oracle,我的项目数据存储在 OracleDB 11g

当我尝试像这样使用 EFCore V3.0 获取序列时遇到的问题;

using (TransactionScope scope = new TransactionScope())
            {
              _dbcontext.TABLEs.Add(values);
              var _sqlseq = string.Format(@"PACKAGE.MY_TABLE_SEQ");
              _dbcontext.TABLEs.FromSql(_sqlseq).FirstOrDefault();
              _dbcontext.SaveChanges();
              scope.Complete();
            }

我也试过 FromSqlRaw 但我没有得到任何结果和想法?

以下代码在 EF Core v3.1 和 dotConnect for Oracle v9.10.909 中成功运行:

var _sqlseq = string.Format(@"select * from dept");
var result = _dbcontext.DEPTs.FromSqlRaw(_sqlseq).FirstOrDefault();

我更新了我的项目包如下

EF 核心 3.1.6 Devart 9.10.1054 版本然后现在我可以运行那个查询

var sql = string.Format(@"A TABLE QUERY");
 var result = _dbcontex.TABLESs.FromSqlRaw(sql).First();

此外,我在 .netcore 项目中有另一个 运行 pure sql 的解决方案

如果你可以像这样使用适用于 运行 纯 sql 框架的 Dappet,

var conn = this.GetConnection(_connectionString); // dapper connect DB with  connection string
        result = SqlMapper.Query<dynamic>(conn, query, null, commandType: CommandType.Text).First();
        conn.Close();