如何使用输出参数调用EF6中的存储过程
how to call stored procedure in EF6 with output parameters
我有一个存储过程,其中 returns 一个包含字符串的参数 我不知道如何调用它并获取要在我的视图中显示的输出参数
ALTER PROCEDURE [dbo].[sp_test]
@room_type varchar(40)
,@room_price_min float
,@room_price_max float
,@room_number varchar(30)
,@new varchar(50) output
as
;
--select @room_no
if exists(select room_number from Rooms_ms where room_number=@room_number)
begin
set @new='Room Already Exists'
select @new
return
end
insert into Rooms_ms(room_type,room_price_min,room_price_max,room_number) values
(@room_type,@room_price_min,@room_price_max,@room_number)
set @new='Successfully'
select @new
return
我正在尝试像下面那样捕捉它,但不知道具体怎么做。
var result= db.sp_test(a, b, 0, c);
谢谢
这是我的示例代码之一
string sql = string.Format("exec sp_MyTest '" + methods.DateTimeFormat(vmodel.Search.FDate, false, 1) + "','" + methods.DateTimeFormat(vmodel.Search.TDate, false, 1) + "','" + vmodel.Search.LocationId + "',"+ 0"'");
var result = db.(DbSetName(like.Students))SqlQuery(sql).ToString();
if Return List, then
var result = db.(DbSetName(like.Students))SqlQuery(sql).ToList();
您可以执行以下操作来检索存储过程调用的数据
using(var db = new iConext())
{
var details = db.Database.SqlQuery<iType>("exec iProc @param", new SqlParameter("@param", iValue));
}
iType
是 int 或 string 或 long 或可以是 ComplexType
@param
是一个或多个必需的参数
iContext
用于您的数据库连接
我有一个存储过程,其中 returns 一个包含字符串的参数 我不知道如何调用它并获取要在我的视图中显示的输出参数
ALTER PROCEDURE [dbo].[sp_test]
@room_type varchar(40)
,@room_price_min float
,@room_price_max float
,@room_number varchar(30)
,@new varchar(50) output
as
;
--select @room_no
if exists(select room_number from Rooms_ms where room_number=@room_number)
begin
set @new='Room Already Exists'
select @new
return
end
insert into Rooms_ms(room_type,room_price_min,room_price_max,room_number) values
(@room_type,@room_price_min,@room_price_max,@room_number)
set @new='Successfully'
select @new
return
我正在尝试像下面那样捕捉它,但不知道具体怎么做。
var result= db.sp_test(a, b, 0, c);
谢谢
这是我的示例代码之一
string sql = string.Format("exec sp_MyTest '" + methods.DateTimeFormat(vmodel.Search.FDate, false, 1) + "','" + methods.DateTimeFormat(vmodel.Search.TDate, false, 1) + "','" + vmodel.Search.LocationId + "',"+ 0"'");
var result = db.(DbSetName(like.Students))SqlQuery(sql).ToString();
if Return List, then
var result = db.(DbSetName(like.Students))SqlQuery(sql).ToList();
您可以执行以下操作来检索存储过程调用的数据
using(var db = new iConext())
{
var details = db.Database.SqlQuery<iType>("exec iProc @param", new SqlParameter("@param", iValue));
}
iType
是 int 或 string 或 long 或可以是 ComplexType@param
是一个或多个必需的参数iContext
用于您的数据库连接