[英]EFCore 3.0 Devart Provider With OracleDB doen't work raw sql
My project run on .net core 3.1
, I use data provider Devart.Oracle
also my project data stores on OracleDB 11g
我的项目在.net core 3.1
上运行,我使用数据提供程序Devart.Oracle
也在OracleDB 11g
存储我的项目数据
My problem when i try to get sequence with EFCore V3.0 like that;当我尝试使用 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();
}
Also I tried FromSqlRaw
but i didn't take any result and idea ?我也试过FromSqlRaw
但我没有采取任何结果和想法?
The following code works successfully with EF Core v3.1 and dotConnect for Oracle v9.10.909:以下代码与 EF Core v3.1 和 dotConnect for Oracle v9.10.909 一起成功运行:
var _sqlseq = string.Format(@"select * from dept");
var result = _dbcontext.DEPTs.FromSqlRaw(_sqlseq).FirstOrDefault();
I updated my project packages like as below我更新了我的项目包,如下所示
EF Core 3.1.6 Devart 9.10.1054 versions then now i can run that query EF Core 3.1.6 Devart 9.10.1054 版本然后现在我可以运行该查询
var sql = string.Format(@"A TABLE QUERY");
var result = _dbcontex.TABLESs.FromSqlRaw(sql).First();
Also i have another solition for run pure sql in .netcore projects我还有另一个在 .netcore 项目中运行纯 sql 的解决方案
if you can use Dappet which is avalible for run pure sql framework like this,如果您可以使用可用于像这样运行纯 sql 框架的 Daappet,
var conn = this.GetConnection(_connectionString); // dapper connect DB with connection string
result = SqlMapper.Query<dynamic>(conn, query, null, commandType: CommandType.Text).First();
conn.Close();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.