0

i une procédure stockée qui retourne un paramètre de chaîne contenant en elle, je ne sais pas comment l'appeler et obtenir le paramètre de sortie pour afficher sur mon point de vuecomment appeler la procédure stockée dans EF6 avec des paramètres de sortie

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 [email protected]_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 

J'essaie de l'attraper comme ci-dessous mais je ne sais pas comment le faire exactement.

var result= db.sp_test(a, b, 0, c); 

Merci

Répondre

1

Vous pouvez mettre en œuvre ce qui suit pour récupérer les données d'un appel de procédure stockée

using(var db = new iConext()) 
{ 
    var details = db.Database.SqlQuery<iType>("exec iProc @param", new SqlParameter("@param", iValue)); 
} 
  • iType est int ou string ou long ou peut être un ComplexType
  • @param est un ou plusieurs paramètres requis
  • iContext est pour votre connexion db
0

Il est l'un échantillon mon code

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();