c# - 带有 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
,但我没有采取任何结果和想法?
解决方案
以下代码可与 EF Core v3.1 和 dotConnect for Oracle v9.10.909 一起成功运行:
var _sqlseq = string.Format(@"select * from dept");
var result = _dbcontext.DEPTs.FromSqlRaw(_sqlseq).FirstOrDefault();
推荐阅读
- android - 来自 `androidx.appcompat.AppCompatIssueRegistry` 的“过时的自定义 lint 检查”,需要更新的 API 级别
- c++ - OutputDebugString 一个 int 在 win32
- c# - 如何将此查询转录为 LINQ(子查询)
- c++ - C++中线程池的队列条目
- python - 如何从 Mac 中删除 Python 2.7?
- qt - 如何在类中实现mousePressEvent(QMouseEvent * event)?
- jackson - 如何将 XML 字符串反序列化为使用包含 @XmlElement 的 JAXB 注释的复合 Java 对象
- javascript - 我无法让 Epoch Charts 显示输出
- docker - Docker Filebeat Nginx 日志
- python - 将 Subprocess.Run 与 BigQuery 的 bq 负载一起使用时出现致命命令错误