c# - 如何使用实体框架核心调用oracle参数化函数?
问题描述
我在 oracle 数据库中有一个函数,其签名类似于Function test_fun(id IN NUMBER) RETURN result_out; 其中 result_out 是 REF CURSOR 类型。我确信 oracle 函数没有错误,因为它正在使用 ADO.Net(oracle.manageddataaccess) 的另一个应用程序中被调用。
即使在调用函数时我没有得到任何异常,我只是没有在返回值参数中得到任何输出。
任何人都可以帮助使用实体框架核心(使用版本 5)调用此函数。
string sql = "BEGIN :result_out := test_fun(:id) END;";
var parms = new OracleParameter[]
{
new OracleParameter
{
ParameterName = "id",
Value = 10,
OracleDbType = OracleDbType.Int32
},
new OracleParameter
{
ParameterName = "result_out",
OracleDbType = OracleDbType.RefCursor,
Direction = ParameterDirection.ReturnValue
}
};
var x = _conext.Database.ExecuteSqlRaw(sql,parms);
var result = parms[1].Value;
解决方案
推荐阅读
- docusignapi - 有时收不到来自docusign的邮件
- java - 带有样式崩溃 java.lang.Exception 的 Android 启动画面:drawable 中的递归引用
- c++ - C++ 递增/递减运算符在单个输出语句中使用时表现不同
- excel - 比较声明为字符串的两个数字
- azure - 重新生成 Azure Application Insights 检测密钥
- url - 在 url 参数中的键内传递键
- mysql - 从 Windows 7 连接到 VirtualBox CentOs 上的 MySQL docker 容器
- jquery - JQuery在字符映射后用其他字母替换字母时“循环”
- javascript - jquery中的时钟选择器不起作用
- ios - 从 2 个集合中解析查询