Entity Framework and stored procedures with OUTPUT parameters
برای دریافت پارامتر برگشتی که در sp تعریف شده
System.Data.Objects.ObjectParameter Param = new System.Data.Objects.ObjectParameter("Message", typeof(int));
تعریف می کنیم بعد در Context استفاده می کنید .
مشکل من اینه که وقتی این روش را استفاده می کنم ارور
cannot convert from system.data.object.Objectparameter to ref int?
کسی مشکل مشابه با ااین کار ندارد ؟
ctx = new TravelAgencyDataContext();
System.Data.Objects.ObjectParameter Param = new System.Data.Objects.ObjectParameter("Message", typeof(int));
ctx.sp_ViRequest_Ins_Client( UserId, Param);
نقل قول: Entity Framework and stored procedures with OUTPUT parameters
نقل قول: Entity Framework and stored procedures with OUTPUT parameters
System.Data.Objects.ObjectParameter Param = new System.Data.Objects.ObjectParameter("Message", typeof(int?));
ctx.sp_ViRequest_Ins_Client( UserId, Param).FirstOrDefault();
نقل قول: Entity Framework and stored procedures with OUTPUT parameters
این چیزیکه شما می فرمایید امکان پذیر نیست .
بعد از استفاده از storedprocedure دیگه متدی نمایش داده نمیشه
یعنی کسی storedprocedure با مقدار خروجی استفاده نکرده.؟؟؟
با دیگر سوال رو مطرح میکنم
قصد دارم در entity متد(storedprocedure) را در صفحه استفاده کنم که این sp مقدار output دارد برای دریافت output
System.Data.Objects.ObjectParameter Message = new System.Data.Objects.ObjectParameter("Message", typeof(Int32));
تعریف کردم و حالا در Context صفحه sp را صدا میزنم
ctx.sp_ViRequest_Ins_Client(Name, Email, Phone, Mobile, Desc, UserId, VisaId, Message);
اما ارور زیر گرفته می شه
Argument 8: cannot convert from 'System.Data.Objects.ObjectParameter' to 'ref int?' J:\CurrentProjectViDetail.aspx.cs
در صورتی که کسی این مشکل را رفع کرده اطلاع دهد!!!
نقل قول: Entity Framework and stored procedures with OUTPUT parameters
اول نوع پارامتر رو Nullable تعریف کنید سپس امتحان کنید ببینید اجرا میشه یا نه؟
ObjectParameter("Message", typeof(int?))
اگه باز ختا داد ببینید این فرمایش قابل اجراست:
var qry = ctx.sp_ViRequest_Ins_Client( UserId, Param);
var userId = qry.FirstOrDefault().Id;
منزور از Id نام فیلدی که میخوای برگردونی و برای اتلاعات بیشتر این رو بخون
Executing a stored procedure with an output parameter using Entity Framework
نقل قول: Entity Framework and stored procedures with OUTPUT parameters
متاسفانه نشد
System.Data.Objects.ObjectParameter Message = new System.Data.Objects.ObjectParameter("Message", typeof(int?));
var qry=ctx.sp_VisaRequest_Ins_Client( UserId, Message);
var param = qry.FirstOrDefault();
اصلا این متدها بایند نمیشوند ..
من که متاسفانه هنگ کردم اما به هر حال تشکر از جواب هاتون