EF Core - Oracle Take and Skip

187 Views Asked by At

How to use Skip and Take with Oracle and EF Core?

This query...

var q = db.Set<T>()
    .FilterBy(filtri)
    .Skip(0)
    .Take(10);      

...Generates this wrong query (ora-00933 sql command not properly ended):

DECLARE 
l_sql     varchar2(32767);
l_cur     pls_integer;
l_execute pls_integer;

BEGIN
l_cur := dbms_sql.open_cursor;
l_sql := 'SELECT "w"."REQUESTNUM", ..."
FROM "MP2"."WOREQ" "w"
WHERE (("w"."SITEID" = ''TESTCC'') AND ("w"."TASKNUM" = ''AAAQ''))
OFFSET :p_0 ROWS FETCH NEXT :p_1 ROWS ONLY';
dbms_sql.parse(l_cur, l_sql, dbms_sql.native);
dbms_sql.bind_variable(l_cur, ':p_0', 0);
dbms_sql.bind_variable(l_cur, ':p_1', 10);
l_execute:= dbms_sql.execute(l_cur);
dbms_sql.return_result(l_cur);
END;

Without Skip and Take:

SELECT "w"."REQUESTNUM", ... 
FROM "MP2"."WOREQ" "w"
WHERE (("w"."SITEID" = 'TESTCC') AND ("w"."TASKNUM" = 'AAAQ'))

I'm using Oracle.EntityFrameworkCore nuget package.

0

There are 0 best solutions below