نوشته شده توسط
Delphi&Kylix_2939
با سلام
دوستان چطور میشه مقدار برگشتی Return در sql server رو در entity Frame Work پیدا کرد
زبان asp.net و C#
ممنون میشم کامل راهنمائی کنید
زمانی که میخواهید SP را اضافه کنید در پنجره Add function Import ، باید نوع بازگشتی رو تعیین کنید. بستگی داره کوئری چه چیزی رو بازگشت میده. اگر یک مقدار هست میتونید از قسمت Scalar نوع رو تعیین کنید(برای استفاده هم پایین مثال زدم)
و اگر چند مقدار بازگشت میشه میتونید طریق Complex اقدام کنید. با کلیک روی دکمه Get column information و بعد Creats new complex type نوع جدیدی ایجاد کنید. در اینصورت برای استفاده از SP مثل یک مجموعه قابل شمارش باهاش بخورد میکنید:
dataGridView1.DataSource = db.SP();
var q = from s in db.SP()
where s.name == textBox1.Text
select s;
dataGridView1.DataSource = q;
نوشته شده توسط
z_software
سلام دوستان ، کسی هست بتونه جواب سوال این تاپیک رو بده ، منم به این مشکل برخوردم،
دارم از Entity استفاده می کنم، stored procedure هام رو تعریف کردم، Stored Procedures را بعنوان یک Function به Entity Framework معرفی کردم.
تو برنامه هم به اونها دسترسی دارم، فقط نمیدونم باید چه طور ازش استفاده کنم، مثلاً خروجی SP من یه رشته است، اومدم یه متغیر از نوع رشته تعریف کردم ولی وقتی Function رو صدا می زنم و می ریزمش تو متغیرم میگه : Cannot implicitly convert type 'System.Data.Objects.ObjectResult<string>' to 'string'
Convert هم جواب نمیده.
شاید مشکل هم از sp باشه ، اون این شکلیه :
ALTER PROCEDURE [dbo].[ConfirmUserName]( @UserName nvarchar)
AS
SET NOCOUNT ON
select Password from Employee
Where
UserName= @UserName
RETURN
در کل میخوام خروجی یه stored procedure رو تو برنامه استفاده کنم،هرچی Search می کنم به جوابی نمی رسم.
ممنون میشم اگه کسی بلد باشه، جواب بده.
با تشکر.
اگر خروجی از نوع System.Data.Objects.ObjectResult<string> میتونید با SingleOrDefault مقدارو بگیرید:
string str = db.SP().SingleOrDefault();