PDA

View Full Version : سوال: return در store procedure در entity framework



Delphi&Kylix_2939
یک شنبه 26 خرداد 1392, 15:37 عصر
با سلام
دوستان چطور میشه مقدار برگشتی Return در sql server رو در entity Frame Work پیدا کرد
زبان asp.net و c#
ممنون میشم کامل راهنمائی کنید

Delphi&Kylix_2939
جمعه 31 خرداد 1392, 12:03 عصر
سلام کسی نیست راهنمائی کنه؟

Delphi&Kylix_2939
پنج شنبه 06 تیر 1392, 08:43 صبح
سلام
کسی اطلاعاتی در این زمینه نداره؟

z_software
یک شنبه 09 تیر 1392, 12:27 عصر
سلام دوستان ، کسی هست بتونه جواب سوال این تاپیک رو بده ، منم به این مشکل برخوردم،
دارم از 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 می کنم به جوابی نمی رسم.
ممنون میشم اگه کسی بلد باشه، جواب بده.
با تشکر.

Delphi&Kylix_2939
دوشنبه 10 تیر 1392, 03:12 صبح
با سلام
این قسمت تالار مدیر و راه بر نداره؟

Mahmoud.Afrad
دوشنبه 10 تیر 1392, 11:11 صبح
با سلام
دوستان چطور میشه مقدار برگشتی 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;




سلام دوستان ، کسی هست بتونه جواب سوال این تاپیک رو بده ، منم به این مشکل برخوردم،
دارم از 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();

z_software
سه شنبه 11 تیر 1392, 12:45 عصر
و اگر چند مقدار بازگشت میشه میتونید طریق 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;







سلام دوستان، ممنون که وقت گذاشتین و جواب دادین. یه سوال دیگه : می خوام مقدارهای دو تا ستون از جدولم رو بخونم.
وقتی می خوام تمام ستون ها رو بخونم، در قسمت Function Import ، گزینه ی entities و سپس جدولم رو انتخاب می کنم و بعد تو برنامه (سه لایه دارم مینویسم) در لایه ی DLL اون رو این شکلی فراخوانی می کنم :

public static List<Employee> SelectAllTeachers()
{
using (OxfordDBEntities db = new OxfordDBEntities())
{
return SelectAllTeachers(db);
}
}
public static List<Employee> SelectAllTeachers(OxfordDBEntities db)
{
return db.Select_AllTeachers().ToList();
}

ولی حالا که می خوام مقدارهای دو تا ستون از جدولم رو بخونم، پس اومدم در قسمت Function Import ، گزینه ی Complex رو انتخاب کردم و ستونهام رو انخاب کردم ولی نمیدونم چه طوری تو لایه ی DLL ازش استفاده کنم؟
یعنی نمیدونم کدی رو که دارم چه طور تغییرش بدم ؟؟
اگه لطف کنین و کمک کنین ممنون میشم.
میدونم یه کم بد توضیح دادم ، اگه نامفهومه بگین ، سعی می کنم بهتر و کامل تر توضیح بدم.
با تشکر فراوان.