Как я могу получить доступ к процедуре Oracle, используя Oracle.ManagedDataAccess.EntityFramework? - PullRequest
0 голосов
/ 19 апреля 2019

Как я могу получить доступ к процедуре Oracle, используя Oracle.ManagedDataAccess.EntityFramework?

У меня есть 2 таблицы в базе данных Oracle 11g: COURSES и AUTHORS. Я создал простую процедуру, подобную этой:

create or replace PROCEDURE GET_COURSE_DETAILS(OUT_COURSES OUT SYS_REFCURSOR)
AS
BEGIN
    OPEN OUT_COURSES FOR
    SELECT COURSEID, NAME, TITLE, DESCRIPTION, PRICE, LEVELSTRING, LEVELS
    FROM COURSES C
    INNER JOIN AUTHORS A ON C.AUTHORID = A.AUTHORID;
END;

Из простого консольного приложения я подключаюсь к этой БД с помощью Oracle.ManagedDataAccess.EntityFramework и запрашиваю процедуру следующим образом:

static void Main(string[] args)
{
    RoomiEntities dbContext = new RoomiEntities();

    var courses = dbContext.GET_COURSE_DETAILS();
}

Когда я вызываю функцию GET_COURSE_DETAILS, она показывает эту ошибку в классе реализации DbContext:

enter image description here

Внутреннее исключение говорит

OracleException: ORA-06550: line 1, column 8:
PLS-00306: wrong number or types of arguments in call to 'GET_COURSE_DETAILS'
ORA-06550: line 1, column 8:
PL/SQL: Statement ignored

Не могли бы вы помочь мне решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...