2

我想调用一个返回SYS_REFCURSOR.

我尝试过的一种方法如下所示:

var userIdParameter = DataParameter.Decimal("userId", user.Id);
var returnValue = new DataParameter { Direction = ParameterDirection.ReturnValue };
var result = dataConnection.ExecuteProc("SECURITY.GetUserRoles", userIdParameter, returnValue);

这会产生以下错误:

PLS-00382: expression is of wrong type

函数是否返回SYS_REFCURSORLinq2DB支持的?

4

1 回答 1

2

在 Linq2DB 1.8 中添加了对此类参数的支持。您需要添加DataType = DataType.Cursor到返回参数。

请参阅 linq2db 测试中的示例:https ://github.com/linq2db/linq2db/blob/master/Tests/Linq/DataProvider/OracleTests.cs#L1881

于 2018-11-15T12:20:44.310 回答