首页 > 解决方案 > 带有 OracleDB 的 EFCore 3.0 Devart Provider 无法使用原始 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,但我没有采取任何结果和想法?

标签: c#plsqloracle11gdevartef-core-3.0

解决方案


以下代码可与 EF Core v3.1 和 dotConnect for Oracle v9.10.909 一起成功运行:

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

推荐阅读