Joh*_*ohn 4 c# oracle stored-procedures entity-framework-5
CREATE OR REPLACE PACKAGE johns_test_pkg AS
PROCEDURE test(some_parameter IN NUMBER,
success_id OUT NUMBER);
PROCEDURE test_no_out_parameter(some_parameter IN NUMBER);
PROCEDURE test_no_in_parameter(success_id OUT NUMBER);
END johns_test_pkg;
/
CREATE OR REPLACE PACKAGE BODY johns_test_pkg AS
--
PROCEDURE test(some_parameter IN NUMBER,
success_id OUT NUMBER)
IS
v_app_user_session_id INTEGER;
BEGIN
v_app_user_session_id := 1 + some_parameter;
success_id := v_app_user_session_id;
END;
--
PROCEDURE test_no_out_parameter(some_parameter IN NUMBER)
IS
v_app_user_session_id INTEGER;
BEGIN
v_app_user_session_id := 1 + some_parameter;
END;
--
PROCEDURE test_no_in_parameter(success_id OUT NUMBER)
IS
v_app_user_session_id INTEGER;
BEGIN
v_app_user_session_id := 1 + 10;
success_id := v_app_user_session_id;
END;
END johns_test_pkg;
/
Run Code Online (Sandbox Code Playgroud)
鉴于以上简单的Oracle包中有三个程序.我试图使用Entity Framework 5将这些过程添加到我的模型中但没有用.我已经能够添加一些不在包中的Oracle过程.
我一直在阅读这个问题,其他一些问题类似于如何调用oracle-function-with-return-value-using-linq-to-entities并从所选答案中读取.该人员声明IN OUT参数或OUT参数应该有效,但我的三个都没有被导入.我原本以为test_no_in_parameter程序会被加载?
是否可以在包装下加载程序?
pat*_*zzi 10
在edmx模型中,右键单击"从数据库更新模型",取消选中"将选定的存储过程和函数导入实体模型",选择包中的过程并进行更新.(它的工作原理)然后在"Model.Store\Stored Procedures/Functions"下的"Model Browser"中,您将看到包中的程序(最后).然后将它们映射到"函数导入".
我不明白为什么取消勾选导入存储过程的工作原理,但确实如此.