我需要一种视图,其中包含要由实体框架调用的参数。经过一番搜索,我在Oracle方面想出了这个解决方案:
CREATE OR REPLACE
type PLANNING_TV is object (cod_planificacion number, des_planificacion varchar2(70), cod_cliente number, cod_compania number);
CREATE OR REPLACE
type PLANNING_TV_TBL is table of PLANNING_TV;
CREATE FUNCTION q_apptdept (cliente number, utilizador number)
RETURN PLANNING_TV_TBL
IS
CURSOR cur (c_cliente number, c_utilizador number)
IS
SELECT PTV.COD_PLANIFICACION,
PTV.DES_PLANIFICACION,
PTV.COD_CLIENTE,
PTV.COD_COMPANIA
FROM RO.PLANIFICACION_TV PTV
WHERE PTV.COD_PAIS = 620
AND EXTRACT(YEAR FROM F_INICIO) >= 2016 - 1
AND PTV.COD_COMPANIA IN (SELECT NVL(XR.COD_COMPANHIA, XR.COD_COMPANHIA)
FROM XR_VW_CLI_GRUPO_COMP_UTIL_MMS XR
WHERE XR.COD_UTILIZADOR = c_utilizador)
AND COD_CLIENTE = c_cliente
ORDER BY COD_PLANIFICACION DESC;
ty PLANNING_TV;
tbl PLANNING_TV_TBL := PLANNING_TV_TBL ();
BEGIN
FOR rec IN cur (cliente, utilizador) LOOP
ty := PLANNING_TV (rec.COD_PLANIFICACION, rec.DES_PLANIFICACION, rec.COD_CLIENTE, rec.COD_COMPANIA);
tbl.EXTEND;
tbl (tbl.LAST) := ty;
END LOOP;
RETURN tbl;
END;
基本上我创建数据类型,然后创建此数据类型的表并返回包含我的数据的表。
为了获得这些信息,我可以做(甲骨文方面):
SELECT * FROM TABLE(q_apptdept(<parm1>, <parm2>));
但是,如何在我的实体框架数据服务上调用它呢?
我想到了类似 Createquery 的东西,但我不得不说返回的类型,但是是自定义的。所以不知道怎么表达。