EF 怎么调用存储过程并获得output参数

1、MVC4的项目,自动会把存储过程在项目中映射为函数。

2、存储过程:

  

 1 ALTER PROCEDURE [dbo].[P_FindAnZhiRen]
 2      @tempP_ID int output
 3     ,@Member_ID int
 4     ,@Is_Right bit
 5 AS
 6
 7
 8 set @tempP_ID =@Member_ID
 9 BEGIN
10
11
12 if @Is_Right =0
13 begin
14     While(Exists(select 1 from tbMemberInfo where [email protected]_ID and Is_Right=0))
15     begin
16         select @tempP_ID=Member_ID from tbMemberInfo where [email protected]_ID and Is_Right=0
17     end
18 end
19
20
21 if @Is_Right =1
22 begin
23     if(Exists(select 1 from tbMemberInfo where [email protected]_ID and Is_Right=1))
24     begin
25         select @tempP_ID=Member_ID from tbMemberInfo where [email protected]_ID and Is_Right=1
26     end
27
28     While(Exists(select 1 from tbMemberInfo where [email protected]_ID and Is_Right=0))
29     begin
30         select @tempP_ID=Member_ID from tbMemberInfo where [email protected]_ID and Is_Right=0
31     end
32 end
33
34 END

项目代码:

  

            var tempP_ID = new ObjectParameter("tempP_ID", typeof(Int32));
            var result = db.P_FindAnZhiRen(tempP_ID, 1, false );
            var result1 = tempP_ID.Value;
result1就是output的值
时间: 2024-12-18 14:15:56

EF 怎么调用存储过程并获得output参数的相关文章

使用Microsoft.Practices.EnterpriseLibrary.Data调用存数过程Output参数注意事项

最近拿了一个开源的源码看了下,在调试的过程中发现调用存数过程的output参数的时候一直出错,现在将问题记录下来. 问题描述: 1. 使用Microsoft.Practices.EnterpriseLibrary.Data.dll调用数据库 2. 存数过程如下: USE [Survey] GO /****** Object: StoredProcedure [dbo].[vts_spQuestionCopy] Script Date: 08/03/2014 19:11:10 ******/ SE

oracle 定时任务 job 调用存储过程有回到输出参数(含out参数)

oracle 定时任务 job 调用存储过程有返回输出参数(含out参数) 因前台调用一个含有OUT参数的存储过程,同时在JOB里也想调用同一个存储过程,不想将OUT参数去掉重新建一个存储过程再被JOB调用.虽然OUT参数在JOB里没有任何意义,但是考虑到程序最简化,不重复建设,采用了如下方法,即在调用存储过程前先定义参数变量.以下s1,s2均为OUT参数,希望对大家有所帮助.begin  sys.dbms_job.submit(job => :job1,                    

qt调用sql server存储过程并获取output参数

最近新做的一个项目需要使用qt连接另一台机器上的sql server,虽然网上已有类似文章,但还是有些其中很少提及的问题,故在这里汇总下: qt连接sql server可以参考这篇文章,如果是连接另一台机器的sql server就不用执行第一步“开启ODBC驱动”了 http://www.cnblogs.com/shaolw/p/3411285.html 另外指定数据库用户名和密码可以使用Uid和Pwd,即原文dsn参数可以这样写: QString dsn = QString("Driver={

c++ ado 调用存储过程并得到输出参数和返回值

// AccessSqlserverByAdo.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <Windows.h> #include <iostream> #include <string> using namespace std; #import "C:\Program Files\Common Files\System\ado\msado15.dll" rename

C# EF中调用 存储过程并调回参数

TourEntities db = new TourEntities(); List<v_product> v = new List<v_product>(); SqlParameter[] prams = new SqlParameter[5]; prams[0] = new SqlParameter("@a", 0); prams[1] = new SqlParameter("@b", 0); prams[1].Direction = P

.NET CORE EF 框架调用存储过程

//查 获取信息string userId =888886868886; //多个参数多表组合值 SqlParameter[] Param = { new SqlParameter("@UserId", System.Data.SqlDbType.VarChar) }; if (string.IsNullOrEmpty(userId)) { Param[0].Value = DBNull.Value; } else { Param[0].Value = userId; } var us

EF 调用存储过程、返回多结果集和OUTPUT参数 等问题

一.EF调用存储过程: 1.执行返回表类型的存储过程 先上存储过程 随手写的一个最简单的   .        Student.  Enrollment,Student   Enrollment.StudentIDStudent.StudentID  Enrollment.StudentID 执行存储过程的方法 是用直接执行sql的方式 我在我的文章第九篇 有过详细的介绍~大家可以先去看下 执行表的存储过程 其实是非常强大的 延迟加载 等都有体现 博客园的陆老师已经写了 写的非常清楚了~我这里就

C# 调用存储过程操作 OUTPUT参数和Return返回值

本文转载:http://www.cnblogs.com/libingql/archive/2010/05/02/1726104.html 存储过程是存放在数据库服务器上的预先编译好的sql语句.使用存储过程,可以直接在数据库中存储并运行功能强大的任务.存储过程在第一应用程序执行时进行语法检查和编译,编译好的版本保存在高速缓存中.在执行重复任务时,存储过程可以提高性能和一致性.由于存储过程可以将一系列对数据库的操作放在数据库服务器上执行,因而可以降低Web服务器的负载,提高整个系统的性能. 1.创

oracle 存储过程中调用存储过程

//用exec调用存储过程. 一个带参数的存储过程.SQL> CREATE OR REPLACE PROCEDURE HelloWorld1 (2 p_user_name VARCHAR23 ) AS4 BEGIN5 dbms_output.put_line('Hello ' || p_user_name || '!');6 END HelloWorld1;7 / Procedure created. SQL> CREATE OR REPLACE PROCEDURE CallHelloWorl